Project

Profile

Help

Story #968

Updated by mhrivnak over 9 years ago

The sync process should start by trying with the v2 API and fall back to the v1 API. 

 Details of the v2 API: https://github.com/docker/distribution/blob/release/2.0/docs/spec/api.md 

 For now, we can assume that we only get the manifest's digest from the header Docker-Content-Digest, which is theoretically optional. The upstream docker registry does provide it. In the future, we can add logic to the sync and upload workflows that calculates the digest if it's not available. 

 As of this writing, the docker hub does not yet implement the v2 API. The only available implementation is the upstream registry, which you can run locally with 

 <pre>docker run -p 5000:5000 registry:2</pre> 

 Then you can push a repository to it with a docker client. 

 Deliverables: 
 * sync works with the v2 API 
 * sync creates both manifest and image units 
 * sync falls back to the v1 API 
 * Documentation / recipes

Back