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
Jim Ma d66cf41c38
chore: avoid use default mux (#3346)
Signed-off-by: Jim Ma <majinjing3@gmail.com>
2024-07-03 19:50:50 +08:00
.github chore(deps): bump docker/build-push-action from 5 to 6 (#3333) 2024-06-18 09:35:46 +08:00
api feat: remove concurrent_piece_count in scheduler (#2942) 2023-12-12 16:39:16 +08:00
build test: add preheat e2e testing for v2 (#3215) 2024-04-22 21:36:58 +08:00
client chore: avoid use default mux (#3346) 2024-07-03 19:50:50 +08:00
client-rs@8befb9ee39 chore: update client rs verison to v0.1.82 (#3336) 2024-06-20 22:33:14 +08:00
cmd fix: scheduler storage buffer size limit (#3142) 2024-03-22 14:58:30 +08:00
deploy rename container in compose config (#3351) 2024-06-28 15:05:46 +08:00
docs docs: add security audit report (#2729) 2023-09-15 14:44:41 +08:00
hack fix: make e2e-test (#3143) 2024-03-22 14:25:28 +08:00
internal chore: update client version (#3267) 2024-05-17 14:17:20 +08:00
manager chore: update client-rs version (#3321) 2024-06-14 12:23:59 +08:00
pkg feat: increase revice msg size and send msg size in grpc (#3335) 2024-06-20 17:16:32 +08:00
scheduler feat: reduce the scheduler return content of the parent (#3349) 2024-06-27 23:22:36 +08:00
test test: add nydus e2e testing for API v2 (#3234) 2024-05-14 12:07:35 +08:00
trainer feat: make log rotation settings configurable (#3085) 2024-02-28 16:36:43 +08:00
version chore: release v2.1.0 (#2597) 2023-08-04 14:52:53 +08:00
.gitignore chore: change gitignore for vendor (#3225) 2024-04-23 17:08:53 +08:00
.gitmodules chore: add client-rs submodule to main (#3114) 2024-03-12 21:18:42 +08:00
.golangci.yml feat: manager add advertiseIP (#1695) 2023-06-28 17:33:57 +08:00
.goreleaser.yml chore: add draft in goreleaser (#2981) 2023-12-28 10:51:16 +08:00
.markdownlint.yml docs: add metrics document (#1075) 2023-06-28 17:32:57 +08:00
ADOPTERS.md docs: add iQIYI to ADOPTERS.md (#3248) 2024-05-07 12:41:48 +08:00
CHANGELOG.md Update CHANGELOG.md (#2913) 2023-12-04 16:12:42 +08:00
CODE_OF_CONDUCT.md docs: add slack and google groups (#1203) 2023-06-28 17:33:09 +08:00
CONTRIBUTING.md Update CONTRIBUTING.md (#2836) 2023-10-30 17:32:54 +08:00
GOVERNANCE.md docs: add the responsibilities of contributor roles (#3345) 2024-06-26 23:14:59 +08:00
LICENSE Merge branch main-rc to branch main 2023-06-28 17:20:20 +08:00
MAINTAINERS.md chore: add yyzai384 to maintainers (#3018) 2024-01-12 12:01:03 +08:00
Makefile Update Makefile (#2828) 2023-10-26 10:50:19 +08:00
OWNERS.md chore: add yyzai384 to maintainers (#3018) 2024-01-12 12:01:03 +08:00
README.md chore: update client version (#3267) 2024-05-17 14:17:20 +08:00
SECURITY.md docs: add slack and google groups (#1203) 2023-06-28 17:33:09 +08:00
codecov.yml feat: change default value of dynconfig cache (#2203) 2023-06-28 17:34:40 +08:00
go.mod chore(deps): bump github.com/hashicorp/memberlist from 0.5.0 to 0.5.1 (#3356) 2024-07-02 10:57:06 +08:00
go.sum chore(deps): bump github.com/hashicorp/memberlist from 0.5.0 to 0.5.1 (#3356) 2024-07-02 10:57:06 +08:00

README.md

Dragonfly

alt

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

Provide efficient, stable and secure file distribution and image acceleration based on p2p technology to be the best practice and standard solution in cloud native architectures.

Introduction

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. 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.

Security

Security Audit

A third party security audit was performed by Trail of Bits, you can see the full report here.

Community

Join the conversation and help the community.

Contributing

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

Code of Conduct

Please refer to our Code of Conduct.