Pulp Container Roadmap » History » Revision 8
Revision 7 (ipanova@redhat.com, 02/26/2018 02:32 PM) → Revision 8/34 (ipanova@redhat.com, 02/26/2018 11:29 PM)
# Pulp Docker Roadmap ~~~ This is a living document that is moving towards a long term plan to develop Docker plugin for Pulp 3.0 and beyond. ~~~ ## Supported Content Types ### MVP - Image manifest schema1 and schema2 - Manifest list - Blob - Tag ## Pulp Docker Plugin Use Cases ### MVP ##### Sync - As a user I can sync docker repo from docker registry <!-- end list --> - \* assumes registry is compliant v2 api specs - \* with token based auth or basic auth - \* specify \`feed\` and \`upstream_name\` <!-- end list --> - As a user I can sync from a docker repo published by Pulp and Pulpand served by Crane - As a user, I can exactly mirror the content of a remote repository. - As a user, I can mirror the content of a remote repository with an additive behavior, so content is never removed locally. - As a user I can validate the size and the checksum of downloaded content against metadata ( #2625 #2624) **NOTE**: dropping enable_v1, enable_v2, mask_id options ##### Publish - As a user I can create a publication of docker content <!-- end list --> - \* publication is consumable by Crane <!-- end list --> - As a user, I can specify publish_directory from relative path at which the content will be served( provided by pulp_core) - As a user, I can specify repo-registry-id that repository will be used in the docker registry - As a user i can specify redirect-url which will lead to the location the content is stored served. **NOTE** dropping protected option ##### Addition of the content to the repo with deps - As a user I can add Manifest and all Blobs it references to the destination repo - As a user I can add Manifest List and all Manifests and Blobs it references to the destination repo - As a user I can add Tag and all its' associated content it references to the destination repo ##### Upload Artifacts( units are not created): - As a user I can upload \* Manifest Lists \* Image Manifests \* Blobs \* (no upload of tags) ##### Create Content Units from uploaded Artifacts( MVP docker content types) ##### Multi-unit Upload from Tarball: - As a user I can upload a skopeo generated tarball that contains one or many content units ##### enable v2/catalog endpoint ### Post-MVP 4.1+ ##### Sync - As a user I can sync a registry by whitelisting tags ( Filtered Sync) - As a user i can lazily fetch docker repo by specifying the download policy ##### Publish - As a user I i can distribute publications of docker content using a remote server ( rsync exporter) (Rsync distributor). ##### Crane - some dedicated storage for the metadata files ( remove the need of in-memory database) <!-- end list --> - \* move into with Live API (4.1+) ## What will be dropped in Pulp3 - v1 API support. In Pulp3 we'll have just v2 api registry and corresponding v2 content types - v1/search. There is no v2/search so \`docker search\` for v2 content will not work. If upstream docker will add support for v2 docker content search by the time we deliver docker plugin for pulp3 we will reconsider and include the endpoint. - content protection. In Pulp3 docker repos will not support entitlement cert protection. ( option \`protected\` is dropped) - export content into a tar file. It was possible to do so for v1 content.