security(frontend): digest-pin obol-stack-front-end v0.1.23#468
Conversation
Switch the frontend image reference from tag-only ("v0.1.23") to
tag+digest ("v0.1.23@sha256:950b887e1cbaca9f928ff7b449b5602ed9777b629b4ee1b9c4c91fac2d74c2f2").
The tag stays for human readability; the digest is authoritative.
Eliminates the mutable-tag attack surface flagged as a non-blocking
follow-up by the supply-chain review of v0.10.0-rc2. Multi-arch index
digest covers linux/amd64 and linux/arm64.
Renders to a valid OCI reference via the obol/obol-app chart
"obol-app.image" helper (verified locally with helm template).
Maintainer hand-offThis PR is staged at the merge gate set by Pre-merge artifacts
Supply-chain verification
Two gates left (per
|
|
Superseded by #482, which bumps the frontend to v0.1.24-rc2 AND applies the same digest-pin pattern in one commit. Closing this stale-at-v0.1.23 PR. |
Summary
v0.1.23tag.obolnetwork/obol-stack-front-end:v0.1.23@sha256:950b887e1cbaca9f928ff7b449b5602ed9777b629b4ee1b9c4c91fac2d74c2f2v0.10.0-rc2.Why
A floating tag (
v0.1.23) could be re-pushed in the upstream registry, and the cluster would silently pick up the new content on the next image pull. Digest pinning makes the cluster's image content cryptographically reproducible. The tag is kept for human readability; the digest is authoritative for the runtime.Multi-arch index digest covers
linux/amd64andlinux/arm64. Verified locally withhelm template obol/obol-app@0.1.1— the resultingimage:field is a legal OCI reference (name:tag@digest).Test plan
obol stack upshould pullobolnetwork/obol-stack-front-end@sha256:950b...on first reconcile and the pod should become Readyv0.10.0-rc3)Not self-merging
Per
feedback_main_merge_gates.md(in Claude memory): "never merge to main without flows-green AND a second human reviewer." Leaving merge to a maintainer.