3.8 KiB
title, seoTitle, description, category, sections, tags
| title | seoTitle | description | category | sections | tags | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ECR API Coverage | Elastic Container Registry API Coverage — Spinifex Docs | Every operation in the Amazon ECR API model and whether Spinifex implements it, alongside the OCI distribution endpoint that carries the image layers. | Coverage |
|
|
ECR API Coverage
Overview
Spinifex implements 19 of the 47 operations in the ECR 2015-09-21 API model, as pinned in aws-sdk-go v1.55.8 — 40.4%.
Two endpoints, one registry
Repository metadata is served over the AWS API on the gateway endpoint. Image data moves over the OCI Distribution /v2/ endpoint on that same host, authenticated by the bearer token GetAuthorizationToken mints for docker login.
The split explains the largest group of unimplemented operations below. The layer-transfer operations — BatchCheckLayerAvailability, InitiateLayerUpload, UploadLayerPart, CompleteLayerUpload and GetDownloadUrlForLayer — are registered stubs because the /v2/ endpoint carries that traffic instead. A client using docker or any OCI-compatible tool never calls them.
Vulnerability scanning is not offered, so the image-scanning operations refuse deliberately rather than pretending to have found nothing. Registry replication is likewise absent: a deployment is a single registry, with no cross-region peer to replicate to.
Operations
| Operation | Status |
|---|---|
BatchCheckLayerAvailability |
🟡 Stub |
BatchDeleteImage |
✅ Implemented |
BatchGetImage |
✅ Implemented |
BatchGetRepositoryScanningConfiguration |
🚫 Not supported |
CompleteLayerUpload |
🟡 Stub |
CreatePullThroughCacheRule |
❌ Not implemented |
CreateRepository |
✅ Implemented |
CreateRepositoryCreationTemplate |
❌ Not implemented |
DeleteLifecyclePolicy |
✅ Implemented |
DeletePullThroughCacheRule |
❌ Not implemented |
DeleteRegistryPolicy |
❌ Not implemented |
DeleteRepository |
✅ Implemented |
DeleteRepositoryCreationTemplate |
❌ Not implemented |
DeleteRepositoryPolicy |
✅ Implemented |
DescribeImageReplicationStatus |
❌ Not implemented |
DescribeImageScanFindings |
🚫 Not supported |
DescribeImages |
✅ Implemented |
DescribePullThroughCacheRules |
❌ Not implemented |
DescribeRegistry |
🟡 Stub |
DescribeRepositories |
✅ Implemented |
DescribeRepositoryCreationTemplates |
❌ Not implemented |
GetAuthorizationToken |
✅ Implemented |
GetDownloadUrlForLayer |
🟡 Stub |
GetLifecyclePolicy |
✅ Implemented |
GetLifecyclePolicyPreview |
✅ Implemented |
GetRegistryPolicy |
🟡 Stub |
GetRegistryScanningConfiguration |
🚫 Not supported |
GetRepositoryPolicy |
✅ Implemented |
InitiateLayerUpload |
🟡 Stub |
ListImages |
✅ Implemented |
ListTagsForResource |
✅ Implemented |
PutImage |
✅ Implemented |
PutImageScanningConfiguration |
🚫 Not supported |
PutImageTagMutability |
✅ Implemented |
PutLifecyclePolicy |
✅ Implemented |
PutRegistryPolicy |
🟡 Stub |
PutRegistryScanningConfiguration |
🚫 Not supported |
PutReplicationConfiguration |
🟡 Stub |
SetRepositoryPolicy |
✅ Implemented |
StartImageScan |
🚫 Not supported |
StartLifecyclePolicyPreview |
✅ Implemented |
TagResource |
🟡 Stub |
UntagResource |
🟡 Stub |
UpdatePullThroughCacheRule |
❌ Not implemented |
UpdateRepositoryCreationTemplate |
❌ Not implemented |
UploadLayerPart |
🟡 Stub |
ValidatePullThroughCacheRule |
❌ Not implemented |
GetImageScanningConfiguration |
🔒 Outside the pinned model |
ListRepositories |
🔒 Outside the pinned model |
ReplicateImage |
🔒 Outside the pinned model |