As a user, I can "docker pull" using the v2 API
Crane must implement the "docker pull" v2 API. This includes:
must return 200 and the custom "Docker-Distribution-API-Version" header with value "registry/2.0".
must redirect to the corresponding base URL defined for the
<name> joined with the relative
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.
#6 Updated by mhrivnak about 5 years ago
- Checklist item changed from [ ] user can "docker pull" using the v2 API, [ ] new data file schema is used to get data about manifests, [ ] add release notes, [ ] add documentation to [ ] user can "docker pull" using the v2 API, [ ] new data file schema is used to get data about manifests, [ ] add release notes, [ ] add documentation, [ ] crane walks the whole FS tree within its configured data_dir looking for data files to load
- Description updated (diff)
#8 Updated by rbarlow over 4 years ago
- Checklist item user can "docker pull" using the v2 API set to Done
- Checklist item new data file schema is used to get data about manifests set to Done
- Checklist item crane walks the whole FS tree within its configured data_dir looking for data files to load set to Done
Please register to edit this issue