Blobs
Content-addressed blobs: declare one inline or through a presigned upload, check it exists, and download it.
Declare a blob
Declare a blob inline or get a presigned put.
Request body
data_b64digest- sha-256 digest as
sha256:<64 hex> kind- One of
diff,manifest,junit,outputs,archive,upload,tree media_typesize
Response
committedexistsupload- a presigned put
upload.expires_atupload.headersupload.methodupload.url
curl -X POST "$CIRESK_API/v1/ci/blobs" \
-H "Authorization: Bearer $CIRESK_KEY" \
-H "Content-Type: application/json" \
-d '{
"data_b64": "acme/platform",
"digest": "sha256:c21fa32a40d82233c44e76e6ae776b4d403ac1a564ca26de95a14c6bb47eaf49",
"kind": "diff",
"media_type": "application/zstd",
"size": 18432000
}'Get a blob
Blob metadata and a presigned download.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
digest | string | Required | The blob's digest: sha256:<64 hex>. |
Response
digest- sha-256 digest as
sha256:<64 hex> download- a presigned get
download.expires_atdownload.urlmedia_typesize
curl "$CIRESK_API/v1/ci/blobs/sha256:181d6cb8f9e37b5f3cef1b5564e4919abe24a10634c4f54f3ba6c458aebddbb8" \
-H "Authorization: Bearer $CIRESK_KEY"Check a blob exists
Does the tenant hold this blob.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
digest | string | Required | The blob's digest: sha256:<64 hex>. |
Response
curl -I "$CIRESK_API/v1/ci/blobs/sha256:181d6cb8f9e37b5f3cef1b5564e4919abe24a10634c4f54f3ba6c458aebddbb8" \
-H "Authorization: Bearer $CIRESK_KEY"Commit a presigned upload
Verify a presigned upload landed.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
digest | string | Required | The blob's digest: sha256:<64 hex>. |
Idempotency-Key | string | Required |
Response
digest- sha-256 digest as
sha256:<64 hex> sizeverified
curl -X POST "$CIRESK_API/v1/ci/blobs/sha256:181d6cb8f9e37b5f3cef1b5564e4919abe24a10634c4f54f3ba6c458aebddbb8/commit" \
-H "Authorization: Bearer $CIRESK_KEY" \
-H "Idempotency-Key: eac5ccf8-e726-49cd-9469-378e633879e3"