github.com/uber/kraken@v0.1.4/docs/ARCHITECTURE.md (about)

     1  # Kraken Core
     2  
     3  Central P2P components that's not specific to docker images:
     4  
     5  ![](../assets/kraken_core.svg)
     6  
     7  ## Agent
     8    - Deployed on every host
     9    - Implements Docker registry interface
    10  
    11  ## Origin
    12    - Dedicated seeders
    13    - Pluggable storage backend (e.g. S3)
    14    - Self-healing hash ring
    15  
    16  ## Tracker
    17    - Tracks peers and seeders, instructs them to form a sparse graph
    18    - Self-healing hash ring
    19  
    20  # Kraken Proxy and Build Index
    21  
    22  Components responsible for image tags and replication to other clusters:
    23  
    24  ![](../assets/kraken_build_index.svg)
    25  
    26  ## Proxy
    27    - Handles image upload and direct download
    28  
    29  ## Build Index
    30    - Mapping of human readable tag to blob hash (digest)
    31    - No consistency guarantees, client should use unique tags
    32    - Powers image replication between clusters. Simple duplicated queues with retry
    33    - Pluggable storage
    34    - Self-healing hash ring