Fold enforce-tag-immutability into harden-zot-registry (#235)
## Summary - Removed `status: active` from `enforce-tag-immutability` card — its requirements are folded into the parent `harden-zot-registry` goal's `accessControl` configuration - Updated `harden-zot-registry` with three-tier access control spec (anonymous read, artifact-workloads read+create, admins full) - Added `artifact-workloads` group creation step to `register-zot-oidc-client` - Added service account context to `wire-ci-registry-auth` ## Rationale Tag immutability requires authentication to be meaningful. Without auth, everyone is anonymous and gets the same policy. Rather than client-side push checks, the registry enforces immutability server-side: CI gets `["read", "create"]` (no update/delete), so pushing an existing tag is rejected by zot itself. ## Test plan - [ ] `mise run docs-check-links` passes - [ ] `mise run docs-mikado` shows enforce-tag-immutability as resolved Reviewed-on: https://forge.ops.eblu.me/eblume/blumeops/pulls/235
This commit is contained in:
parent
64691da4fb
commit
04e036c603
4 changed files with 30 additions and 31 deletions
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
title: Wire CI Registry Auth
|
||||
modified: 2026-02-20
|
||||
modified: 2026-02-21
|
||||
status: active
|
||||
tags:
|
||||
- how-to
|
||||
|
|
@ -23,6 +23,8 @@ There are two push paths to update:
|
|||
|
||||
> **Note:** The API key must be generated manually after OIDC login is working — log in to zot UI via browser, generate an API key, and store it in 1Password. This is a manual step between [[register-zot-oidc-client]] and this card, but not modeled as a formal `requires` dependency.
|
||||
|
||||
CI authenticates as a service account in the `artifact-workloads` group (created in [[register-zot-oidc-client]]). This group grants `["read", "create"]` — CI can push new tags but cannot overwrite or delete existing ones, enforcing tag immutability server-side.
|
||||
|
||||
## Secret Flow
|
||||
|
||||
### Indri runner (minikube)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue