Story #1050
closedAs a user, I can "docker pull" using the v2 API
100%
Description
Crane must implement the "docker pull" v2 API. This includes:
GET /v2/
must return 200 and the custom "Docker-Distribution-API-Version" header with value "registry/2.0".
GET /v2/<name>/<path>
must redirect to the corresponding base URL defined for the <name>
joined with the relative <path>
.
The "redirect files" that crane uses to load data about repositories has been updated for docker V2. The schema for this data file has been bumped to "2", with details here: https://github.com/pulp/pulp_docker/blob/docker_v2_api/docs/tech-reference/distributor.rst#v2-redirect-file
It may be easiest to store these in a new in-memory data structure. So when loading data files, if it is a V1 file keep the current behavior, and if it's a V2 file add the data to a new but similar structure. Then they can be accessed separately by request handlers for /v1 and /v2. In theory, one repo could have content both under /v1 and /v2.
To facilitate easier organization of v1 vs. v2 data files, it is important that crane be able to load them from anywhere within its configured data_dir. So it should look for all json blobs within that directory and any subdirectories, and load them as data files.
Reference: https://github.com/docker/distribution/blob/master/docs/spec/api.md
Related issues
Updated by mhrivnak over 9 years ago
- Blocked by Task #1048: Tracker for Docker v2 API and Manifest work added
Updated by mhrivnak over 9 years ago
- Blocked by deleted (Task #1048: Tracker for Docker v2 API and Manifest work)
Updated by mhrivnak over 9 years ago
- Blocks Task #1048: Tracker for Docker v2 API and Manifest work added
Updated by mhrivnak over 9 years ago
- Related to Story #1049: Add v2 concepts to data file schema added
Updated by mhrivnak over 9 years ago
- Description updated (diff)
- Groomed changed from No to Yes
Updated by jortel@redhat.com almost 9 years ago
- Status changed from NEW to ASSIGNED
- Assignee set to rbarlow
Added by rbarlow almost 9 years ago
Updated by rbarlow almost 9 years ago
- Status changed from ASSIGNED to POST
- % Done changed from 80 to 90
- Target Release - Crane set to 2.0.0
Updated by rbarlow almost 9 years ago
- Status changed from POST to MODIFIED
- % Done changed from 90 to 100
Applied in changeset 138a4469d477aac2ba923ca2e12f30c3fc58cefb.
Updated by dkliban@redhat.com almost 9 years ago
- Status changed from 5 to CLOSED - CURRENTRELEASE
Add release notes for Crane 2.0.
Also update the docs to note that the data_dir can contain folders now.
https://pulp.plan.io/issues/1050
fixes #1050