Project

Profile

Help

Task #3231

Updated by mihai.ibanescu@gmail.com over 6 years ago

As a user, when uploading two images that share the same parent layer(s) and differ just in child layer(s) and/or config, a lot of time is spent uploading both tar files when a lot of the content is duplicated. 

 The REST API should let one upload layers/blobs individually, and then a manifest.json file to tie everything together. 

 h2. Background 

 A v2 schema 2 Docker image format (as created by Skopeo) is a tar file of layers and a manifest.json. 
 A smarter client could open up the TAR file, search for the blobs in pulp and upload them if missing, then upload the manifest that references all the blobs. 

 h2. Changes required 

 All the changes are at the REST API level. There is no need to write the smarter client (i.e. pulp-admin) at this point. 
 * ability to upload a blob into a repo 
 * ability to upload a manifest into a repo, also checking that all referenced blobs are present 

 h2. Notes 

 
 #2523 would no longer apply as written, apply, since there is a case for removing blobs when they are not referenced by any manifest.

Back