Files
spinifex/docs/coverage/ecr
Julian Sommer e2fb37c0ac docs: publish only the AWS operations Spinifex serves
The coverage pages led with a percentage and an "x of y" count, and every
table listed the modelled operations Spinifex does not implement, which reads
as a scorecard against AWS rather than a statement of what the platform serves.

A published page now opens with the operation count alone, tables the
operations the gateway serves, and carries a separate not-applicable table with
each reason inline instead of footnotes. The unimplemented operations and the
counts move to docs/coverage/internal-report.md, which no docs-site slug points
at. A service with no implemented operations has no publishable page.
2026-09-15 10:28:35 +10:00
..

title, seoTitle, description, category, sections, tags
title seoTitle description category sections tags
ECR API Coverage Elastic Container Registry API Coverage — Spinifex Docs The Amazon ECR API operations Spinifex implements, alongside the OCI distribution endpoint that carries the image layers, and those the platform will not. Coverage
overview
aws
compatibility
coverage
ecr
containers
registry

ECR API Coverage

Overview

Spinifex implements 19 operations in the ECR 2015-09-21 API model.

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 stubs 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.

Registry replication is a stub for the same kind of reason: a deployment is a single registry, with no cross-region peer to replicate to.

Operations

Operation Status
BatchCheckLayerAvailability 🟡 Stub
BatchDeleteImage ✅ Implemented
BatchGetImage ✅ Implemented
CompleteLayerUpload 🟡 Stub
CreateRepository ✅ Implemented
DeleteLifecyclePolicy ✅ Implemented
DeleteRepository ✅ Implemented
DeleteRepositoryPolicy ✅ Implemented
DescribeImages ✅ Implemented
DescribeRegistry 🟡 Stub
DescribeRepositories ✅ Implemented
GetAuthorizationToken ✅ Implemented
GetDownloadUrlForLayer 🟡 Stub
GetLifecyclePolicy ✅ Implemented
GetLifecyclePolicyPreview ✅ Implemented
GetRegistryPolicy 🟡 Stub
GetRepositoryPolicy ✅ Implemented
InitiateLayerUpload 🟡 Stub
ListImages ✅ Implemented
ListTagsForResource ✅ Implemented
PutImage ✅ Implemented
PutImageTagMutability ✅ Implemented
PutLifecyclePolicy ✅ Implemented
PutRegistryPolicy 🟡 Stub
PutReplicationConfiguration 🟡 Stub
SetRepositoryPolicy ✅ Implemented
StartLifecyclePolicyPreview ✅ Implemented
TagResource 🟡 Stub
UntagResource 🟡 Stub
UploadLayerPart 🟡 Stub
GetImageScanningConfiguration 🔒 Outside the pinned model
ListRepositories 🔒 Outside the pinned model
ReplicateImage 🔒 Outside the pinned model

Not applicable

These operations describe AWS-hosted features this platform does not offer.

Operation Reason
BatchGetRepositoryScanningConfiguration Image scanning is an AWS-hosted vulnerability service with no equivalent here, so a finding set would always be empty.
DescribeImageScanFindings Image scanning is an AWS-hosted vulnerability service with no equivalent here, so a finding set would always be empty.
GetRegistryScanningConfiguration Image scanning is an AWS-hosted vulnerability service with no equivalent here, so a finding set would always be empty.
PutImageScanningConfiguration Image scanning is an AWS-hosted vulnerability service with no equivalent here, so a finding set would always be empty.
PutRegistryScanningConfiguration Image scanning is an AWS-hosted vulnerability service with no equivalent here, so a finding set would always be empty.
StartImageScan Image scanning is an AWS-hosted vulnerability service with no equivalent here, so a finding set would always be empty.