Skip to main content
Version: Next (unreleased)

Container Registry

This page tracks which Azure Container Registry REST API operations are implemented in Topaz, split by control plane (ARM resource management) and data plane (OCI / Docker Registry HTTP API).

Legend

SymbolMeaning
Implemented
Not implemented

Control Plane

The control plane covers ARM operations available under management.azure.com — creating and managing registry resources, replications, webhooks, etc.

Cache Rules

REST reference

OperationStatus
Create
Delete
Get
List
Update

Connected Registries

REST reference

OperationStatus
Create
Deactivate
Delete
Get
List
Update

Credential Sets

REST reference

OperationStatus
Create
Delete
Get
List
Update

Operations

REST reference

OperationStatus
List

Private Endpoint Connections

REST reference

OperationStatus
Create Or Update
Delete
Get
List

Registries

REST reference

OperationStatusNotes
Check Name Availability
CreateImplemented via PUT (CreateOrUpdate)
Delete
Generate Credentials
Get
Get Private Link Resource
Import Image
ListLists all registries under a subscription
List By Resource Group
List Credentials
List Private Link Resources
List Usages
Regenerate Credential
UpdatePATCH

Replications

REST reference

OperationStatus
Create
Delete
Get
List
Update

Scope Maps

REST reference

OperationStatus
Create
Delete
Get
List
Update

Tokens

REST reference

OperationStatus
Create
Delete
Get
List
Update

Webhooks

REST reference

OperationStatus
Create
Delete
Get
Get Callback Config
List
List Events
Ping
Update

Data Plane

The data plane covers the OCI Distribution Spec / Docker Registry HTTP API v2, served from the registry's own hostname (e.g. <registry>.cr.topaz.local.dev:8892).

Authentication

ACR OAuth2 token exchange docs

OperationStatusNotes
GET /v2/ (challenge)Returns 401 Bearer challenge; accepts Basic (admin creds) or Bearer (JWT)
POST /oauth2/exchangeExchanges AAD access token for ACR refresh token
GET /oauth2/tokenFetch repository-scoped Bearer access token (Docker daemon flow)
POST /oauth2/tokenExchange refresh token for scoped repository access token

Manifests

OperationStatusNotes
GetGET /v2/{name}/manifests/{reference} — returns stored manifest JSON with original Content-Type
PutPUT /v2/{name}/manifests/{reference} — stores by tag and by digest
DeleteDELETE /v2/{name}/manifests/{reference} — deletes by tag or digest; also removes digest-indexed copy
Check existenceHEAD /v2/{name}/manifests/{reference} — returns 200 + Docker-Content-Digest + Content-Type + Content-Length when manifest exists

Blobs

OperationStatusNotes
GetGET /v2/{name}/blobs/{digest} — returns raw blob bytes with Content-Length
Check existenceHEAD /v2/{name}/blobs/{digest} — returns 200 + Content-Length when blob exists
DeleteDELETE /v2/{name}/blobs/{digest} — deletes existing blob by digest
Initiate uploadPOST /v2/{name}/blobs/uploads/ — returns session UUID
Upload (monolithic)PUT /v2/{name}/blobs/uploads/{uuid}?digest=... with body
Upload (chunked)PATCH /v2/{name}/blobs/uploads/{uuid} then PUT to finalize

Tags

OperationStatusNotes
ListGET /v2/{name}/tags/list (OCI) and GET /acr/v1/{name}/_tags (ACR data-plane) — supports n and last pagination params
DeleteDELETE /acr/v1/{name}/_tags/{tag} — used by az acr repository delete --image <name:tag>

Repositories

OperationStatusNotes
ListGET /v2/_catalog and GET /acr/v1/_catalog — returns {"repositories":[...]} sorted; supports n and last pagination params
DeleteDELETE /acr/v1/{name} — used by az acr repository delete --repository <name>

Tasks API (planned for 1.5-beta)

This section tracks task-oriented ARM operations for building and running container images via triggers and pipelines.

Registries (Tasks)

REST reference

OperationStatus
Get Build Source Upload Url
Schedule Run

Runs

REST reference

OperationStatus
Cancel
Get
Get Log Sas Url
List
Update

Tasks

REST reference

OperationStatus
Create
Delete
Get
Get Details
List
Update
Star on GitHub