You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A registry tag is a mutable pointer. Anyone who can push to the registry can
move v0.2.0-alpha.1 to different bytes, and every operator who pulls
afterwards silently gets them. The Git tag it names is immutable by ruleset;
the image tag is not.
This matters more here than in most projects, because the whole release design
is built around immutability — signed Git tags, verified ancestry, published
checksums, build provenance for the Python artifacts. The images are the one
link in that chain an operator cannot verify.
What to consider
Publish the digest.publish-images.yml already prints it
(v0.2.0-alpha.1-localhost: digest: sha256:20109bb…). Recording it on the
release page, or in the repository at the tag, would let an operator pin image@sha256:… and know what they got.
Problem
README.mdanddeploy/community/README.mdboth document the fast start as:A registry tag is a mutable pointer. Anyone who can push to the registry can
move
v0.2.0-alpha.1to different bytes, and every operator who pullsafterwards silently gets them. The Git tag it names is immutable by ruleset;
the image tag is not.
This matters more here than in most projects, because the whole release design
is built around immutability — signed Git tags, verified ancestry, published
checksums, build provenance for the Python artifacts. The images are the one
link in that chain an operator cannot verify.
What to consider
publish-images.ymlalready prints it(
v0.2.0-alpha.1-localhost: digest: sha256:20109bb…). Recording it on therelease page, or in the repository at the tag, would let an operator pin
image@sha256:…and know what they got.overlaps release: produce reproducible full-stack images with SBOM and provenance #19, which owns the wider question — coordinate rather than
duplicate.
should not imply the pull is as verifiable as the rest of the release.
Acceptance criteria
check
hardened variant rather than the default