# dragonflyoss/dragonfly-archived

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/dragonflyoss-dragonfly-archived).**

5,937 stars · 759 forks · Go · Apache-2.0 · archived

## Links

- GitHub: https://github.com/dragonflyoss/dragonfly-archived
- Homepage: https://d7y.io
- awesome-repositories: https://awesome-repositories.com/repository/dragonflyoss-dragonfly-archived.md

## Topics

`cloud-native` `cncf` `docker-image` `p2p` `pouch` `registry`

## Description

Dragonfly is a peer-to-peer file distribution system designed to accelerate large-scale file and container image delivery across clusters. It splits files into small pieces that peers exchange independently, enabling parallel downloads from multiple sources while a central scheduler assigns parent peers based on real-time load metrics. The system integrates with existing tools through an HTTP proxy interface and uses gRPC for internal communication between peers and the scheduler.

The system distinguishes itself through automatic integrity verification at the piece level, ensuring every downloaded file matches the original without manual checks. It provides fault isolation at multiple levels—service, peer, or task—so a single failure cannot cascade across the network. Per-host bandwidth throttling caps download speed at the machine level, limiting total bandwidth used by all concurrent tasks on that host, while passive CDN caching stores downloaded files on content delivery nodes to serve subsequent requests without contacting the original source.

Dragonfly includes a web-based cluster management console for configuring, monitoring, and managing peer-to-peer distribution clusters and their activity. It supports container image acceleration by distributing layers through the P2P network instead of pulling directly from a registry, and authenticates file source requests through standard HTTP header fields. The system also automatically detects and excludes malfunctioning peers or managers from the distribution network to maintain download reliability.

## Tags

### Data & Databases

- [Peer-to-Peer File Distribution](https://awesome-repositories.com/f/data-databases/distributed-caching/peer-to-peer-file-distribution.md) — Uses peer-to-peer networking to transfer files, leveraging each peer's bandwidth to improve download efficiency and reduce cross-datacenter traffic. ([source](https://cdn.jsdelivr.net/gh/dragonflyoss/dragonfly-archived@master/README.md))
- [Service-Level Isolations](https://awesome-repositories.com/f/data-databases/read-replicas/fault-domain-isolation/service-level-isolations.md) — Errors are contained within individual services, peers, or tasks so a single failure cannot cascade across the network.

### Networking & Communication

- [Piece-Level File Transfer Protocols](https://awesome-repositories.com/f/networking-communication/piece-level-file-transfer-protocols.md) — Files are split into small pieces that peers exchange independently, enabling parallel downloads from multiple sources.
- [Cluster Bandwidth Controllers](https://awesome-repositories.com/f/networking-communication/bandwidth-management/cluster-bandwidth-controllers.md) — Controlling and balancing download bandwidth across a cluster to prevent network congestion and ensure fair resource usage.
- [Peer-to-Peer Download Accelerators](https://awesome-repositories.com/f/networking-communication/download-acceleration-techniques/peer-to-peer-download-accelerators.md) — Speeds up file downloads by having peers share pieces of the file with each other, reducing load on the original source.
- [Per-Host Bandwidth Limiters](https://awesome-repositories.com/f/networking-communication/download-traffic-controllers/share-download-limits/bandwidth-limit-controllers/per-host-bandwidth-limiters.md) — Download speed is capped at the machine level, limiting total bandwidth used by all concurrent tasks on that host.
- [HTTP Proxies](https://awesome-repositories.com/f/networking-communication/http-proxies.md) — Existing tools connect through an HTTP proxy interface, requiring no modifications to use the P2P distribution network.
- [Per-Host Bandwidth Caps](https://awesome-repositories.com/f/networking-communication/download-traffic-controllers/share-download-limits/per-task-speed-limiters/per-host-bandwidth-caps.md) — Restricts the total download bandwidth used by all tasks on a single machine, not just per individual download. ([source](https://cdn.jsdelivr.net/gh/dragonflyoss/dragonfly-archived@master/README.md))
- [gRPC Interfaces](https://awesome-repositories.com/f/networking-communication/grpc-interfaces.md) — Internal communication between peers and the scheduler uses gRPC for efficient, typed message passing.

### DevOps & Infrastructure

- [Peer-to-Peer Download Schedulers](https://awesome-repositories.com/f/devops-infrastructure/cluster-job-schedulers/gang-based-schedulers/peer-to-peer-download-schedulers.md) — Central scheduler assigns parent peers to each download based on real-time load metrics across the cluster.
- [P2P Image Accelerators](https://awesome-repositories.com/f/devops-infrastructure/container-image-registries/p2p-image-accelerators.md) — Speeding up container image pulls by distributing layers through a P2P network instead of pulling directly from a registry.
- [Peer-to-Peer Image Distributions](https://awesome-repositories.com/f/devops-infrastructure/container-orchestration/image-management-tools/container-image-distribution/image-distributions-across-members/image-distribution-networks/peer-to-peer-image-distributions.md) — Accelerates large-scale file and image distribution by having peers share downloaded pieces with each other, reducing source load. ([source](https://d7y.io/docs/))
- [Container Registry Proxies](https://awesome-repositories.com/f/devops-infrastructure/container-registry-proxies.md) — Acts as an HTTP/HTTPS proxy that accelerates container image pulls from registries without modifying existing tools.
- [CDN Offloading](https://awesome-repositories.com/f/devops-infrastructure/cdn-offloading.md) — Reducing load on origin servers by caching downloaded files on passive CDN nodes and serving them to peers.

### Operating Systems & Systems Programming

- [File Integrity Verifications](https://awesome-repositories.com/f/operating-systems-systems-programming/checksum-utilities/data-integrity-checksums/file-integrity-verifications.md) — Guarantees that every downloaded file matches the original without requiring the user to supply a checksum. ([source](https://cdn.jsdelivr.net/gh/dragonflyoss/dragonfly-archived@master/README.md))

### Security & Cryptography

- [Download Integrity Verification](https://awesome-repositories.com/f/security-cryptography/download-integrity-verification.md) — Verifies file consistency automatically during P2P transfers so users receive correct content without manual checks. ([source](https://d7y.io/docs/))
- [Integrity Verification](https://awesome-repositories.com/f/security-cryptography/privacy-data-protection/data-encryption/end-to-end-encryption/integrity-verification.md) — Each file piece carries a hash that the receiving peer checks immediately, guaranteeing end-to-end correctness.

### Testing & Quality Assurance

- [Download Failure Isolations](https://awesome-repositories.com/f/testing-quality-assurance/general-testing-utilities/test-isolation/service-isolation-utilities/failure-isolation-mechanisms/cascading-failure-prevention/download-failure-isolations.md) — Contains errors at the service, peer, or task level to prevent a single failure from disrupting other transfers. ([source](https://d7y.io/docs/))

### Web Development

- [Proxy-Based Tool Integrations](https://awesome-repositories.com/f/web-development/existing-codebase-integrations/proxy-based-tool-integrations.md) — Works with container runtimes, registries, and download tools through HTTP/HTTPS proxy or gRPC without modifying them. ([source](https://d7y.io/docs/))
- [Parent Peer Schedulers](https://awesome-repositories.com/f/web-development/peer-to-peer-transfer-engines/parent-peer-schedulers.md) — Selects optimal parent peers for each download based on real-time load, balancing bandwidth across the cluster. ([source](https://d7y.io/docs/))
- [Passive Caching Nodes](https://awesome-repositories.com/f/web-development/frontend-development-resources/cdn-delivery-services/passive-caching-nodes.md) — Downloaded files are stored on a content delivery node that serves subsequent requests without contacting the original source.

### Hardware & IoT

- [Automatic Peer Exclusions](https://awesome-repositories.com/f/hardware-iot/integration-performance/hardware-interfacing-integration/hardware-interfacing/faulty-node-management/automatic-peer-exclusions.md) — Detects and excludes malfunctioning peers or managers from the distribution network to maintain download reliability. ([source](https://cdn.jsdelivr.net/gh/dragonflyoss/dragonfly-archived@master/README.md))

### Software Engineering & Architecture

- [File Transfer Fault Isolators](https://awesome-repositories.com/f/software-engineering-architecture/fault-tolerance-strategies/fault-tolerance-implementation/file-transfer-fault-isolators.md) — Ensuring reliable file distribution by isolating failures at the service, peer, or task level and automatically excluding faulty nodes.

### System Administration & Monitoring

- [Cluster Management Interfaces](https://awesome-repositories.com/f/system-administration-monitoring/cluster-management-interfaces.md) — Provides a web interface to configure, monitor, and manage peer-to-peer distribution clusters and their activity.
- [P2P Cluster Consoles](https://awesome-repositories.com/f/system-administration-monitoring/p2p-network-administration/p2p-cluster-consoles.md) — Managing and monitoring a peer-to-peer distribution cluster through a visual console for configuration and activity tracking.
