Dragonfly is an open source P2P-based file distribution and image acceleration system. It is hosted by the Cloud Native Computing Foundation (CNCF) as an Incubating Level Project.
Go to file
Gaius 085b4375aa
feat: update console and helm-charts submodule (#1355)
* feat: update submodule

Signed-off-by: Gaius <gaius.qi@gmail.com>

* feat: update submodule

Signed-off-by: Gaius <gaius.qi@gmail.com>
2023-06-28 17:33:25 +08:00
.github feat: update console and helm-charts submodule (#1355) 2023-06-28 17:33:25 +08:00
api feat: add security group id with scheduler cluster (#1354) 2023-06-28 17:33:25 +08:00
build docs: readme add seed peer (#1349) 2023-06-28 17:33:24 +08:00
cdn feat: support response header (#1292) 2023-06-28 17:33:19 +08:00
client fix: register fail panic (#1351) 2023-06-28 17:33:25 +08:00
cmd feat: change pattern from cdn to seed peer and remove kustomize shell (#1345) 2023-06-28 17:33:24 +08:00
deploy feat: update console and helm-charts submodule (#1355) 2023-06-28 17:33:25 +08:00
docs docs: readme add seed peer (#1349) 2023-06-28 17:33:24 +08:00
hack feat: change pattern from cdn to seed peer and remove kustomize shell (#1345) 2023-06-28 17:33:24 +08:00
internal feat: change pattern from cdn to seed peer and remove kustomize shell (#1345) 2023-06-28 17:33:24 +08:00
manager feat: update console and helm-charts submodule (#1355) 2023-06-28 17:33:25 +08:00
pkg feat: use uid/gid as UserID and UserGroup if current user not found in passwd (#1352) 2023-06-28 17:33:25 +08:00
scheduler feat: scheduler handles seed peer failed (#1325) 2023-06-28 17:33:21 +08:00
test fix: e2e charts config 2023-06-28 17:33:24 +08:00
version feat: update to v2.0.2 (#1232) 2023-06-28 17:33:12 +08:00
.gitignore feat: limit tree depth (#1099) 2023-06-28 17:33:00 +08:00
.gitmodules feat: add console submodule (#549) 2023-06-28 17:31:36 +08:00
.golangci.yml feat: add seed peer logic (#1302) 2023-06-28 17:33:19 +08:00
.goreleaser.yml fix: nfpms maintainer (#1326) 2023-06-28 17:33:22 +08:00
.markdownlint.yml docs: add metrics document (#1075) 2023-06-28 17:32:57 +08:00
CHANGELOG.md chore: generate change log 2023-06-28 17:33:12 +08:00
CODE_OF_CONDUCT.md docs: add slack and google groups (#1203) 2023-06-28 17:33:09 +08:00
CONTRIBUTING.md docs: readme add seed peer (#1349) 2023-06-28 17:33:24 +08:00
LICENSE Merge branch main-rc to branch main 2023-06-28 17:20:20 +08:00
MAINTAINERS.md docs: add slack and google groups (#1203) 2023-06-28 17:33:09 +08:00
Makefile feat: add dfcache rpm/deb packages and man pages and publish in goreleaser (#1259) 2023-06-28 17:33:14 +08:00
README.md docs: readme typo 2023-06-28 17:33:24 +08:00
SECURITY.md docs: add slack and google groups (#1203) 2023-06-28 17:33:09 +08:00
codecov.yml Fix: use atomic to avoid data race in client (#254) 2023-06-28 17:22:38 +08:00
go.mod feat: update casbin/gorm-adapter version and change e2e charts config 2023-06-28 17:33:24 +08:00
go.sum feat: update casbin/gorm-adapter version and change e2e charts config 2023-06-28 17:33:24 +08:00

README.md

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.