Project

Profile

Help

Story #968

closed

As a user, I can sync from a v2 registry

Added by mhrivnak over 9 years ago. Updated over 5 years 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 - CURRENTRELEASErbarlow

Actions
Blocked by Docker Support - Task #967: Create a "manifest" modelCLOSED - CURRENTRELEASErbarlow

Actions
Blocks Docker Support - Story #969: As a user, I can sync from static files in the v2 API layoutCLOSED - CURRENTRELEASErbarlow

Actions
Blocks Docker Support - Task #1048: Tracker for Docker v2 API and Manifest workCLOSED - CURRENTRELEASErbarlow

Actions
Blocks Docker Support - Story #1144: As a user, I can sync from a v2 registry that requires RFC7235 authorization headersCLOSED - CURRENTRELEASEamacdona@redhat.com

Actions
Blocks Docker Support - Story #1145: As a user, I am assured that Pulp is downloading the correct manifestsCLOSED - CURRENTRELEASE

Actions
Actions #1

Updated by mhrivnak over 9 years ago

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

Updated by mhrivnak over 9 years ago

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

Updated by mhrivnak over 9 years ago

  • Description updated (diff)
Actions #4

Updated by mhrivnak over 9 years ago

  • Groomed changed from No to Yes
Actions #5

Updated by mhrivnak over 9 years ago

  • Priority changed from Normal to High
Actions #6

Updated by mhrivnak over 9 years ago

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

Updated by rbarlow over 9 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.

Actions #8

Updated by rbarlow over 9 years ago

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

Updated by rbarlow over 9 years ago

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

Updated by rbarlow over 9 years ago

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

Updated by rbarlow over 9 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

Actions #12

Updated by rbarlow over 9 years ago

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

Added by rbarlow over 9 years ago

Revision e069fa47 | View on GitHub

Add support to sync with Docker v2 repositories.

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

fixes #968

Added by rbarlow over 9 years ago

Revision e069fa47 | View on GitHub

Add support to sync with Docker v2 repositories.

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

fixes #968

Added by rbarlow over 9 years ago

Revision e069fa47 | View on GitHub

Add support to sync with Docker v2 repositories.

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

fixes #968

Added by rbarlow over 9 years ago

Revision e069fa47 | View on GitHub

Add support to sync with Docker v2 repositories.

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

fixes #968

Actions #13

Updated by rbarlow over 9 years ago

  • Status changed from POST to MODIFIED
  • % Done changed from 0 to 100
Actions #14

Updated by rbarlow about 9 years ago

  • Target Release - Docker changed from 1.1.0 to 2.0.0
Actions #15

Updated by rbarlow almost 9 years ago

  • Status changed from MODIFIED to 5
Actions #17

Updated by rbarlow over 8 years ago

  • Status changed from 5 to 6
Actions #18

Updated by dkliban@redhat.com over 8 years ago

  • Status changed from 6 to CLOSED - CURRENTRELEASE
Actions #20

Updated by bmbouter over 5 years ago

  • Tags Pulp 2 added

Also available in: Atom PDF