dragonfly

module
v2.0.3-beta.8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 31, 2022 License: Apache-2.0

README

Dragonfly

alt

GitHub release Artifact Hub CI Coverage Go Report Card Open Source Helpers TODOs Discussions Twitter GoDoc LICENSE

Provide efficient, stable, secure, low-cost file and image distribution services to be the best practice and standard solution in cloud native architectures.

Introduction

Dragonfly is an open source P2P-based file and image distribution system. It is hosted by the Cloud Native Computing Foundation (CNCF) as an Incubating Level Project. Its goal is to tackle all distribution problems in cloud native architectures. Currently Dragonfly focuses on being:

  • Simple: Well-defined user-facing API (HTTP), non-invasive to all container engines;
  • Efficient: Seed peer support, P2P based file distribution to save enterprise bandwidth;
  • Intelligent: Host-level speed limit, intelligent flow control due to host detection;
  • Secure: Block transmission encryption, HTTPS connection support.

Architecture

alt

Manager: Used to manage the dynamic configuration that each module depends on, and provide keepalive and metrics features. It can be deployed using manager module.

Scheduler: The tracker and scheduler in the P2P network that chooses appropriate downloading net-path for each peer. It can be deployed using scheduler module.

Seed Peer: A seed peer server that caches downloaded data from source. It can be deployed using dfdaemon or cdn module and is recommended to provide quality networking and storage.

Peer: A peer server can download resources from other peers, and can also share resources with other peers. It can be deployed using dfdaemon module. Dfdaemon provides a proxy to allow client traffic such as containerd/CRI-O to use the P2P network, and also provides dfget download command tool, which is similar to wget.

Documentation

You can find the full documentation on the d7y.io.

Community

Welcome developers to actively participate in community discussions and contribute code to Dragonfly. We will remain concerned about the issues discussed in the community and respond quickly.

Contributing

You should check out our CONTRIBUTING and develop the project together.

Code of Conduct

Please refer to our Code of Conduct.

Directories

Path Synopsis
api
manager
Package manager GENERATED BY THE COMMAND ABOVE; DO NOT EDIT This file was generated by swaggo/swag
Package manager GENERATED BY THE COMMAND ABOVE; DO NOT EDIT This file was generated by swaggo/swag
cdn
gc
storedriver
Package storedriver is a generated GoMock package.
Package storedriver is a generated GoMock package.
supervisor/cdn/storage/mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
supervisor/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
supervisor/mocks/cdn
Package cdn is a generated GoMock package.
Package cdn is a generated GoMock package.
supervisor/mocks/progress
Package progress is a generated GoMock package.
Package progress is a generated GoMock package.
supervisor/mocks/task
Package task is a generated GoMock package.
Package task is a generated GoMock package.
client
config
Package config holds all DaemonConfig of dfget.
Package config holds all DaemonConfig of dfget.
config/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
daemon/test/mock/daemon
Package mock_server is a generated GoMock package.
Package mock_server is a generated GoMock package.
daemon/test/mock/daemongrpc
Package mock_server_grpc is a generated GoMock package.
Package mock_server_grpc is a generated GoMock package.
daemon/test/mock/peer
Package mock_peer is a generated GoMock package.
Package mock_peer is a generated GoMock package.
daemon/test/mock/service
Package mock_service is a generated GoMock package.
Package mock_service is a generated GoMock package.
daemon/test/mock/storage
Package mock_storage is a generated GoMock package.
Package mock_storage is a generated GoMock package.
cmd
cdn
internal
dynconfig/mocks
Package mock_manager_client is a generated GoMock package.
Package mock_manager_client is a generated GoMock package.
job
job
pkg
container/list/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
dfpath/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
gc
Package gc is a generated GoMock package.
Package gc is a generated GoMock package.
log
rpc
rpc/cdnsystem/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
rpc/cdnsystem/server/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
rpc/dfdaemon/cdnsystem/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
rpc/dfdaemon/client/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
rpc/dfdaemon/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
rpc/dfdaemon/server/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
rpc/manager/client/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
rpc/manager/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
rpc/scheduler/client/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
rpc/scheduler/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
source/mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
util/mathutils
Package mathutils provides utilities supplementing the standard 'math' and 'math/rand' packages.
Package mathutils provides utilities supplementing the standard 'math' and 'math/rand' packages.
util/stringutils
Package stringutils provides utilities supplementing the standard 'strings' package.
Package stringutils provides utilities supplementing the standard 'strings' package.
util/structutils
Package structutils provides utilities supplementing the standard 'time' package.
Package structutils provides utilities supplementing the standard 'time' package.
util/timeutils
Package timeutils provides utilities supplementing the standard 'time' package.
Package timeutils provides utilities supplementing the standard 'time' package.
config/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
job
resource
Package resource is a generated GoMock package.
Package resource is a generated GoMock package.
scheduler/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
storage/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
test
e2e

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL
JackTT - Gopher 🇻🇳