Release image lock
Each release publishes release-vX.Y.Z.json with its Sigstore bundle. The lock records the release,
source commit, provenance class, repository, multi-platform index digest, and supported platform child
digests for every deployed image. Compose uses the index digests; tags identify releases for humans.
Follow the install guide to install or upgrade. Its verifier checks the signature, signer
identity, release identity, schema, and equality with the release evidence manifest before writing
release-lock.env.
Independent verification
VERSION=vX.Y.Z
gh release download "$VERSION" --repo ls1intum/Hephaestus \
--pattern "release-$VERSION.json" \
--pattern "release-$VERSION.json.sigstore.json"
cosign verify-blob \
--bundle "release-$VERSION.json.sigstore.json" \
--certificate-identity \
'https://github.com/ls1intum/Hephaestus/.github/workflows/release.yml@refs/heads/main' \
--certificate-oidc-issuer 'https://token.actions.githubusercontent.com' \
"release-$VERSION.json"
gh attestation verify "release-$VERSION.json" --owner ls1intum
Rollback
Follow the rollback procedure. It selects an earlier published lock without
reconstructing metadata or resolving image tags. Production startup independently rejects a
non-digest agent-pi reference.