Azure / Azure/acr

Add registry/repository-level write-once tag immutability

Open
#890 0 comments 7 reactions 0 assignees View on GitHub
feature-request
Dominant language
No language data
Stars
177
Forks
137
PR merge metrics
No merged PRs in 30d

Description

# Problem
We need a native implementation for write-once semantics.

Today, preventing tag overwrite requires pipeline-side logic and post-push locking steps.

This is operationally fragile because:

Protection is not atomic.
Governance and audit requirements are harder to satisfy.
This creates risk for supply-chain integrity, reproducibility, and compliance.

# Requested capability
First-class immutability policy controls:

Registry-level policy: enforce write-once globally
Repository-level policy: enforce write-once for selected repos

# Expected behavior

First push of repo:tag succeeds.
Any subsequent push to same repo:tag fails with deterministic error (e.g. HTTP 409/denied: immutable tag).

# Value

Stronger software supply-chain security (SLSA-style provenance confidence)
Lower operational complexity vs custom scripts
Better compliance posture (SOX/ISO/NIS2/internal controls)

# Acceptance criteria

Admin can enable immutability at registry/repo scope.
Overwrite attempts are blocked server-side
Behavior is consistent across Docker/OCI clients and ACR Tasks.
Policy configuration available in Portal, CLI, ARM/Bicep, Terraform.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the Portal, CLI, ARM/Bicep, and Terraform policy surfaces named in the request, then check Docker/OCI clients and ACR Tasks behavior. Map the registry- and repository-level configuration paths and define how a first push succeeds while later overwrites return a deterministic denial. Done means all listed surfaces enforce the policy consistently.

Written by the indexing model from the issue text.

Assessment

Tech stack
azure, docker, terraform
Domain
cloud, devops, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.