Central P2P components that's not specific to docker images:
- Deployed on every host
- Implements Docker registry interface
- Dedicated seeders
- Pluggable storage backend (e.g. S3)
- Self-healing hash ring
- Tracks peers and seeders, instructs them to form a sparse graph
- Self-healing hash ring
Components responsible for image tags and replication to other clusters:
- Handles image upload and direct download
- Mapping of human readable tag to blob hash (digest)
- No consistency guarantees, client should use unique tags
- Powers image replication between clusters. Simple duplicated queues with retry
- Pluggable storage
- Self-healing hash ring