Project

Profile

Help

Story #4657

closed

As a user i can use skopeo pulp transport to upload images to Pulp container registry

Added by ipanova@redhat.com over 3 years ago. Updated 10 months ago.

Status:
CLOSED - WONTFIX
Priority:
Normal
Assignee:
-
Sprint/Milestone:
-
Start date:
Due date:
% Done:

0%

Estimated time:
Platform Release:
Groomed:
No
Sprint Candidate:
No
Tags:
Sprint:
Quarter:

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

Related to Container Support - Story #5027: As a user, I can 'docker push' to a Pulp repository CLOSED - CURRENTRELEASE

Actions
Actions #1

Updated by ipanova@redhat.com over 3 years ago

  • Tags Pulp 3 added
Actions #2

Updated by dkliban@redhat.com over 3 years ago

We should definitely add the ability for users to perform the POST and PUT requests in the description. Since these APIs are used to add content to Pulp, it is most appropriate to add them to pulp-api (port 24817) using ViewSets and Serializers. The registry read APIs should continue to be served by the pulp-content-app (port 24816).

Actions #3

Updated by bmbouter over 3 years ago

  • Tags deleted (Pulp 3)
Actions #4

Updated by ipanova@redhat.com about 3 years ago

  • Related to Story #5027: As a user, I can 'docker push' to a Pulp repository added
Actions #5

Updated by ipanova@redhat.com almost 3 years ago

  • Project changed from Docker Support to Container Support
Actions #6

Updated by ipanova@redhat.com 10 months ago

  • Status changed from NEW to CLOSED - WONTFIX

Also available in: Atom PDF