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 18a8026e45
feat: change PersistentCacheTask to value type and ensure empty slice response (#3945)
Signed-off-by: Gaius <gaius.qi@gmail.com>
2025-04-14 20:05:20 +08:00
.github chore(deps): bump github/codeql-action from 3.28.13 to 3.28.14 (#3930) 2025-04-08 11:01:48 +08:00
api feat(manager): optimize service of the persistent cache task (#3929) 2025-04-03 10:37:18 +08:00
build chore: update client version to 0.2.0 (#3735) 2024-12-31 12:18:06 +08:00
client feat(client): removing hostname resolution fallback when the IP address check fails (#3936) 2025-04-10 10:29:11 +08:00
client-rs@ddde4da033 chore: bump console to v0.2.2 and bump client-rs to v0.2.22 (#3944) 2025-04-11 17:24:01 +08:00
cmd feat: add swagger annotations for open API router (#3885) 2025-03-13 12:18:37 +08:00
deploy feat: update helm charts and remove storage config in scheduler (#3873) 2025-03-10 17:30:20 +08:00
docs docs: add security audit report (#2729) 2023-09-15 14:44:41 +08:00
hack chore: update golang version to v1.23.0 (#3609) 2024-10-29 10:43:55 +08:00
internal feat: support to set piece length for preheat (#3848) 2025-02-26 15:45:37 +08:00
manager feat: change PersistentCacheTask to value type and ensure empty slice response (#3945) 2025-04-14 20:05:20 +08:00
pkg feat: add log for searcher plugin (#3942) 2025-04-10 23:38:02 +08:00
scheduler feat(manager): optimize service of the persistent cache task (#3929) 2025-04-03 10:37:18 +08:00
test chore: update image versions to v2.2.1-rc.3 in compatibility e2e test (#3882) 2025-03-12 16:24:57 +08:00
version chore: update client version to 0.2.0 (#3735) 2024-12-31 12:18:06 +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 enhance: support syncpeers by service and optimize the merge logic (#3637) 2024-11-29 10:46:23 +08:00
.goreleaser.yml fix: replace builds with ids in config (#3943) 2025-04-11 00:09:43 +08:00
.markdownlint.yml docs: add metrics document (#1075) 2023-06-28 17:32:57 +08:00
ADOPTERS.md chore: rename repo from Dragonfly2 to dragonfly (#3715) 2024-12-20 17:21:53 +08:00
CHANGELOG.md chore: update client version to 0.2.0 (#3735) 2024-12-31 12:18:06 +08:00
CODE_OF_CONDUCT.md docs: add slack and google groups (#1203) 2023-06-28 17:33:09 +08:00
CONTRIBUTING.md chore: rename repo from Dragonfly2 to dragonfly (#3715) 2024-12-20 17:21:53 +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 Add CormickKneey as maintainer (#3727) 2024-12-24 11:49:08 +08:00
Makefile chore: update client version to 0.2.0 (#3735) 2024-12-31 12:18:06 +08:00
OWNERS.md Add CormickKneey as maintainer (#3727) 2024-12-24 11:49:08 +08:00
README.md docs: remove FOSSA in README.md (#3829) 2025-02-11 16:49:47 +08:00
SECURITY.md docs: update SECURITY.md for Dragonfly (#3680) 2024-12-03 17:55:05 +08:00
codecov.yml feat: implement FindCandidatePersistentCacheParents for scheduling persistent cache task (#3770) 2025-01-17 20:01:59 +08:00
go.mod chore(deps): bump golang.org/x/crypto from 0.36.0 to 0.37.0 (#3935) 2025-04-08 11:02:36 +08:00
go.sum chore(deps): bump golang.org/x/crypto from 0.36.0 to 0.37.0 (#3935) 2025-04-08 11:02:36 +08:00

README.md

Dragonfly

alt

GitHub release Artifact Hub OpenSSF Scorecard CI Go Report Card Discussions OpenSSF Best Practices Twitter 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.