Project

Profile

Help

Pulp Container Roadmap » History » Sprint/Milestone 10

ipanova@redhat.com, 05/02/2018 03:23 PM

1 1 ipanova@redhat.com
# Pulp Docker Roadmap
2 2 ipanova@redhat.com
3
~~~
4
This is a living document that is moving towards a long term plan to develop Docker plugin for Pulp 3.0 and beyond.
5
~~~
6
7
## Supported Content Types
8
9
### MVP
10
11
  - Image manifest schema1 and schema2
12
  - Manifest list
13
  - Blob
14
  - Tag
15
16
## Pulp Docker Plugin Use Cases
17
18
### MVP
19
20
##### Sync
21
22 8 ipanova@redhat.com
  - As a user I can sync docker repo from docker registry
23
24
<!-- end list -->
25
26
  - assumes registry is compliant v2 api specs
27
  - with token based auth or basic auth
28
  - specify \`feed\` and \`upstream_name\`
29
30
<!-- end list -->
31
32
  - As a user I can sync from a docker repo published by Pulp and served by Crane
33 1 ipanova@redhat.com
  - As a user, I can exactly mirror the content of a remote repository.
34 2 ipanova@redhat.com
  - As a user, I can mirror the content of a remote repository with an additive behavior, so content is never removed locally.
35 8 ipanova@redhat.com
  - As a user I can validate the size and the checksum of downloaded content against metadata ( #2625 #2624)
36 1 ipanova@redhat.com
37
**NOTE**: dropping enable_v1, enable_v2, mask_id options
38
39
##### Publish
40
41 8 ipanova@redhat.com
  - As a user I can create a publication of docker content
42 1 ipanova@redhat.com
43 8 ipanova@redhat.com
<!-- end list -->
44
45
  - publication is consumable by Crane
46
47
<!-- end list -->
48
49
  - As a user, I can specify publish_directory from which the content will be served( provided by pulp_core)
50
  - As a user, I can specify repo-registry-id that will be used in the docker registry
51
  - As a user i can specify redirect-url which will lead to the location the content is stored
52
53
**NOTE** dropping protected option
54
55 2 ipanova@redhat.com
##### Addition of the content to the repo with deps
56
57
  - As a user I can add Manifest and all Blobs it references to the destination repo
58
  - As a user I can add Manifest List and all Manifests and Blobs it references to the destination repo
59
  - As a user I can add Tag and all its' associated content it references to the destination repo
60
61
##### Upload Artifacts( units are not created):
62
63
  - As a user I can upload  
64
    \* Manifest Lists  
65 3 ipanova@redhat.com
    \* Image Manifests  
66 1 ipanova@redhat.com
    \* Blobs  
67
    \* (no upload of tags)
68
69
##### Create Content Units from uploaded Artifacts( MVP docker content types)
70 3 ipanova@redhat.com
71 2 ipanova@redhat.com
##### Multi-unit Upload from Tarball:
72 3 ipanova@redhat.com
73 1 ipanova@redhat.com
  - As a user I can upload a skopeo generated tarball that contains one or many content units
74 3 ipanova@redhat.com
75 9 ipanova@redhat.com
##### Enable v2/catalog endpoint
76 1 ipanova@redhat.com
77 8 ipanova@redhat.com
### Post-MVP 4.1+
78
79 1 ipanova@redhat.com
##### Sync
80
81
  - As a user I can sync a registry by whitelisting tags ( Filtered Sync)
82 8 ipanova@redhat.com
  - As a user i can lazily fetch docker repo by specifying the download policy
83 2 ipanova@redhat.com
84 1 ipanova@redhat.com
##### Publish
85
86 8 ipanova@redhat.com
  - As a user I can distribute publications of docker content using a remote server ( rsync exporter)
87 10 ipanova@redhat.com
  - As a user I can specify whether i want to convert docker image schema2 to schema1( aka schema convertor, for older clients support)
88 7 ipanova@redhat.com
89
##### Crane
90
91 8 ipanova@redhat.com
  - some dedicated storage for the metadata files ( remove the need of in-memory database)
92 10 ipanova@redhat.com
  - enable docker push functionality in crane or provide this as a separate plugin/package
93 8 ipanova@redhat.com
94
<!-- end list -->
95
96
  - move into with Live API (4.1+)
97 3 ipanova@redhat.com
98 1 ipanova@redhat.com
## What will be dropped in Pulp3
99 2 ipanova@redhat.com
100
  - v1 API support. In Pulp3 we'll have just v2 api registry and corresponding v2 content types
101 1 ipanova@redhat.com
  - 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.
102 7 ipanova@redhat.com
  - content protection. In Pulp3 docker repos will not support entitlement cert protection. ( option \`protected\` is dropped)
103
  - export content into a tar file. It was possible to do so for v1 content.