Docker Registry

Run implements the push-oriented subset of Docker Registry v2 needed by Docker clients to upload image blobs and manifests. It is not a full pull-capable registry API.

Authentication

Registry endpoints require Basic Authentication configured through docker login.

1docker login run.hola.cloud

Supported Endpoints

GET /v2/

Check that the registry API is available.

1curl -X GET "https://api.hola.cloud/v2/" \
2  -H "Authorization: Basic <base64-credentials>"

HEAD /v2/*

Check blob or manifest existence during a push workflow.

POST /v2/:repository/blobs/uploads/

Start a blob upload and receive an upload UUID.

1curl -X POST "https://api.hola.cloud/v2/my-project/my-app/blobs/uploads/" \
2  -H "Authorization: Basic <base64-credentials>"

PATCH /v2/:repository/blobs/uploads/:uuid

Upload blob data.

1curl -X PATCH "https://api.hola.cloud/v2/my-project/my-app/blobs/uploads/abc-123" \
2  -H "Authorization: Basic <base64-credentials>" \
3  -H "Content-Type: application/octet-stream" \
4  --data-binary @layer.tar

PUT /v2/:repository/blobs/uploads/:uuid

Finalize a blob upload with its digest.

1curl -X PUT "https://api.hola.cloud/v2/my-project/my-app/blobs/uploads/abc-123?digest=sha256:a1b2c3d4..." \
2  -H "Authorization: Basic <base64-credentials>" \
3  -H "Content-Type: application/octet-stream"

PUT /v2/:repository/manifests/:reference

Push a manifest for a tag or reference.

1curl -X PUT "https://api.hola.cloud/v2/my-project/my-app/manifests/latest" \
2  -H "Authorization: Basic <base64-credentials>" \
3  -H "Content-Type: application/vnd.docker.distribution.manifest.v2+json" \
4  --data-binary @manifest.json

Not Supported

Do not rely on Run as a full Registry v2 pull implementation. The documented registry surface is the push-oriented subset above.

Comments

Leave a comment