Story #4657
closedAs a user i can use skopeo pulp transport to upload images to Pulp container registry
0%
Description
In order to write a pulp transport in skopeo we need to provide endpoints skopeo will access.
Put the manifest identified by name and reference where reference can be a tag or digest.
PUT /v2/<name>/manifests/<reference>
Host: <registry host>
Authorization: <scheme> <token>
Content-Type: <media type of manifest>
{
"name": <name>,
"tag": <tag>,
"fsLayers": [
{
"blobSum": "<digest>"
},
...
]
],
"history": <v1 images>,
"signature": <JWS>
}
Initiate a blob upload. This endpoint can be used to create resumable uploads or monolithic uploads.
For monolithic uploads
POST /v2/<name>/blobs/uploads/?digest=<digest>
Host: <registry host>
Authorization: <scheme> <token>
Content-Length: <length of blob>
Content-Type: application/octect-stream
<binary data>
For resumable uploads
POST /v2/<name>/blobs/uploads/
Host: <registry host>
Authorization: <scheme> <token>
Content-Length: 0
If successful, an upload location will be provided to complete the upload. Optionally, if the digest parameter is present, the request body will be used to complete the upload in a single request.
More info on what we should expect in the headers as well as what we need to return is documented here
https://docs.docker.com/registry/spec/api/#manifest
https://docs.docker.com/registry/spec/api/#initiate-blob-upload
Related issues