← All repos

kraken

P2P Docker registry capable of distributing TBs of data in seconds

bittorrentcontainercontainerddockerdocker-imagedocker-registryp2p
Browse cluster: JavaScript Standard Style Linting
1,067commits
54contributors
9languages

Tech stack & purpose

Kraken is a peer-to-peer Docker registry built in Go and designed for scalable distribution of container images in hybrid cloud environments. It uses a BitTorrent-inspired protocol coordinated by a tracker to distribute Docker blobs across a network of agents running on each host, achieving over 50% of maximum download speeds even in clusters with thousands of hosts. The system consists of five main components—Agent, Origin, Tracker, Proxy, and Build-Index—that use self-healing hash rings for distribution and high availability, and it supports pluggable storage backends including S3, GCS, ECR, and HDFS. Kraken has been in production at Uber since 2018, where it distributes over 1 million blobs per day across clusters of 15,000+ hosts.

Community & reference links

Languages

Go
94.7%
Python
3.3%
Dockerfile
0.6%
Makefile
0.5%
JavaScript
0.5%
Shell
0.2%
Mustache
0.0%
HTML
0.0%
CSS
0.0%

Contributors (top 30 of 54)