Project

Profile

Help

Story #968

As a user, I can sync from a v2 registry

Added by mhrivnak over 5 years ago. Updated over 1 year ago.

Status:
CLOSED - CURRENTRELEASE
Priority:
High
Assignee:
Start date:
Due date:
% Done:

100%

Estimated time:
Platform Release:
Target Release - Docker:
2.0.0
Groomed:
Yes
Sprint Candidate:
Yes
Tags:
Pulp 2
Sprint:
Quarter:

Description

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

docker run -p 5000:5000 registry:2

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

Related issues

Related to Docker Support - Task #1163: Dockerment all of the Docker v2 workCLOSED - CURRENTRELEASE

<a title="Actions" class="icon-only icon-actions js-contextmenu" href="#">Actions</a>
Blocked by Docker Support - Task #967: Create a "manifest" modelCLOSED - CURRENTRELEASE

<a title="Actions" class="icon-only icon-actions js-contextmenu" href="#">Actions</a>
Blocks Docker Support - Story #969: As a user, I can sync from static files in the v2 API layoutCLOSED - CURRENTRELEASE

<a title="Actions" class="icon-only icon-actions js-contextmenu" href="#">Actions</a>
Blocks Docker Support - Task #1048: Tracker for Docker v2 API and Manifest workCLOSED - CURRENTRELEASE

<a title="Actions" class="icon-only icon-actions js-contextmenu" href="#">Actions</a>
Blocks Docker Support - Story #1144: As a user, I can sync from a v2 registry that requires RFC7235 authorization headersCLOSED - CURRENTRELEASE

<a title="Actions" class="icon-only icon-actions js-contextmenu" href="#">Actions</a>
Blocks Docker Support - Story #1145: As a user, I am assured that Pulp is downloading the correct manifestsCLOSED - CURRENTRELEASE

<a title="Actions" class="icon-only icon-actions js-contextmenu" href="#">Actions</a>

Associated revisions

Revision e069fa47 View on GitHub
Added by rbarlow about 5 years ago

Add support to sync with Docker v2 repositories.

https://pulp.plan.io/issues/968

fixes #968

Revision e069fa47 View on GitHub
Added by rbarlow about 5 years ago

Add support to sync with Docker v2 repositories.

https://pulp.plan.io/issues/968

fixes #968

Revision e069fa47 View on GitHub
Added by rbarlow about 5 years ago

Add support to sync with Docker v2 repositories.

https://pulp.plan.io/issues/968

fixes #968

Revision e069fa47 View on GitHub
Added by rbarlow about 5 years ago

Add support to sync with Docker v2 repositories.

https://pulp.plan.io/issues/968

fixes #968

History

#1 Updated by mhrivnak over 5 years ago

  • Blocked by Task #967: Create a "manifest" model added

#2 Updated by mhrivnak over 5 years ago

  • Blocks Story #969: As a user, I can sync from static files in the v2 API layout added

#3 Updated by mhrivnak over 5 years ago

  • Description updated (diff)

#4 Updated by mhrivnak over 5 years ago

  • Groomed changed from No to Yes

#5 Updated by mhrivnak over 5 years ago

  • Priority changed from Normal to High

#6 Updated by mhrivnak over 5 years ago

  • Blocks Task #1048: Tracker for Docker v2 API and Manifest work added

#7 Updated by rbarlow about 5 years ago

  • Status changed from NEW to ASSIGNED
  • Assignee set to rbarlow

I'm going to do this so well, that by the time I'm done it'll also sync the v3 registry which doesn't even exist yet.

#8 Updated by rbarlow about 5 years ago

  • Blocks Story #1144: As a user, I can sync from a v2 registry that requires RFC7235 authorization headers added

#9 Updated by rbarlow about 5 years ago

  • Blocks Story #1145: As a user, I am assured that Pulp is downloading the correct manifests added

#10 Updated by rbarlow about 5 years ago

  • Status changed from ASSIGNED to POST
  • Target Release - Docker set to 1.1.0

#11 Updated by rbarlow about 5 years ago

Since the place for the documentation doesn't exist in my source branch, we need to do the documentation in a separate commit. I decided to create a task for that instead of doing it here:

https://pulp.plan.io/issues/1163

#12 Updated by rbarlow about 5 years ago

  • Related to Task #1163: Dockerment all of the Docker v2 work added

#13 Updated by rbarlow about 5 years ago

  • Status changed from POST to MODIFIED
  • % Done changed from 0 to 100

#14 Updated by rbarlow almost 5 years ago

  • Target Release - Docker changed from 1.1.0 to 2.0.0

#15 Updated by rbarlow over 4 years ago

  • Status changed from MODIFIED to 5

#17 Updated by rbarlow over 4 years ago

  • Status changed from 5 to 6

#18 Updated by dkliban@redhat.com over 4 years ago

  • Status changed from 6 to CLOSED - CURRENTRELEASE

#20 Updated by bmbouter over 1 year ago

  • Tags Pulp 2 added

Please register to edit this issue

Also available in: Atom PDF