0056 โ Verified platform releases from one deployment catalogue
Status: Proposed. Date: 22 October 2026.
Decision
Personal development retains its commands, private state, local source delivery
and in-cluster builds. Official releases use the same image catalogue, build
inputs, fingerprints and service manifests. Environment values select exposure,
identity and installation policy; they do not define another set of Dockerfiles.
CI derives its complete image matrix from gitops/manifests/images.yaml.
A protected platform-vMAJOR.MINOR.PATCH tag selects an exact main commit. Its
successful main-push CI must be recorded before publication. CI builds all
catalogued images, produces SBOM/provenance, signs their digests and verifies
them before publishing one signed OCI package. That package retains the GitOps
sources, image fingerprints, contract/migration fingerprint and service
Application compositions. Private inventory and credentials never enter it.
Promotion verifies the package and image signatures and selects the entire
package through a dedicated deploy/<ENV> Git branch. Each child Application
keeps its owner, destination and sync policy, selecting its own manifest path at
the same OCI digest. Production Argo follows that branch. CI has registry and
selection-branch authority, with no Kubernetes administrator credential. Health
comes from the dedicated Argo notification GitHub App, tied to the selected
package and unique deployment attempt for every child.
Selection uses a non-forced Git update; concurrent writers fail closed. Unknown files and implicit removal of Applications block ordinary promotion. Rollback selects an existing signed package without rebuilding; automatic rollback is limited to unchanged contract/migration fingerprints. Data recovery and a qualified incompatible-schema transition remain separate operations.
Reuse and activation
The package and selection mechanisms adapt architecture-reset at 77c61208f,
particularly devops/release/dev_vm_package.py, dev_vm_select.py and its
release workflow. Their old image lists, monolith contracts and target names are
replaced by the current catalogue and service Application boundaries. The
existing optional development-image workflow remains available.
Production selection is disabled in its committed environment policy. Enabling it requires the complete external-identity/service composition deferred by 0051, reviewed Argo repository/project ownership, OCI credentials, notification App and live qualification. The foundation milestone does not gain application activation through a release tag. See the release guide.
Page source
Source snapshot ยท Revision f928834c8.