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 d01a742b6f
feat: update fsm stable api (#1938)
Signed-off-by: Gaius <gaius.qi@gmail.com>
2023-06-28 17:34:18 +08:00
.github chore: upload nydus e2e logs to artifact (#1909) 2023-06-28 17:34:16 +08:00
api feat: rename url priority struct and remove PriorityLevel constants (#1902) 2023-06-28 17:34:15 +08:00
build feat: remove callsystem and pattern (#1925) 2023-06-28 17:34:17 +08:00
client feat: add IPAddresses and DNSNames to sans of the cert (#1930) 2023-06-28 17:34:18 +08:00
cmd feat: change yaml field type from string to net.IP (#1929) 2023-06-28 17:34:18 +08:00
deploy chore: update helm charts version (#1937) 2023-06-28 17:34:18 +08:00
docs docs: readme add seed peer (#1349) 2023-06-28 17:33:24 +08:00
hack feat: storage collects upload piece count, peer cost and error details (#1907) 2023-06-28 17:34:16 +08:00
internal refactor: dynconfig without Unmarshal (#1926) 2023-06-28 17:34:18 +08:00
manager feat: add IPAddresses and DNSNames to sans of the cert (#1930) 2023-06-28 17:34:18 +08:00
pkg feat: add IPAddresses and DNSNames to sans of the cert (#1930) 2023-06-28 17:34:18 +08:00
scheduler feat: update fsm stable api (#1938) 2023-06-28 17:34:18 +08:00
test feat: change yaml field type from string to net.IP (#1929) 2023-06-28 17:34:18 +08:00
version feat: update version guage metrics (#1927) 2023-06-28 17:34:18 +08:00
.gitignore fix: docker compose config (#1713) 2023-06-28 17:33:59 +08:00
.gitmodules feat: add console submodule (#549) 2023-06-28 17:31:36 +08:00
.golangci.yml feat: manager add advertiseIP (#1695) 2023-06-28 17:33:57 +08:00
.goreleaser.yml chore: releaser action disable cgo (#1885) 2023-06-28 17:34:14 +08:00
.markdownlint.yml docs: add metrics document (#1075) 2023-06-28 17:32:57 +08:00
ADOPTERS.md chore: add Baidu to ADOPTERS.md (#1884) 2023-06-28 17:34:14 +08:00
CHANGELOG.md chore: release v2.0.8 (#1877) 2023-06-28 17:34:13 +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 chore: release v2.0.8 (#1877) 2023-06-28 17:34:13 +08:00
README.md docs: update readme system features (#1359) 2023-06-28 17:33:26 +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 fsm stable api (#1938) 2023-06-28 17:34:18 +08:00
go.sum feat: update fsm stable api (#1938) 2023-06-28 17:34:18 +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: Maintain the relationship between each P2P cluster, dynamic configuration management and RBAC. It also includes a front-end console, which is convenient for users to visually operate the cluster.

Scheduler: Select the optimal download parent peer for the download peer. Exceptions control Dfdaemon's back-to-source.

Seed Peer: Dfdaemon turns on the Seed Peer mode can be used as a back-to-source download peer in a P2P cluster, which is the root peer for download in the entire cluster.

Peer: Deploy with dfdaemon, based on the C/S architecture, it provides the dfget command download tool, and the dfget daemon running daemon to provide task download capabilities.

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.