feat(sign): sign the renamed images too - #1236
Merged
Merged
Conversation
…ach copy, retagger sign over a renamed-images file for the sign-all pass The retag-renamed-images job copied to gsoci without signing: the sign step existed only for the skopeo files. Now retagger run --sign signs each tag right after its copy to gsoci (same signTag, same outcomes and summary), and retagger sign accepts a renamed-images file, resolving the destinations from its rules the way run does and sharded by --executor-count/--executor-id, so the sign-all pipeline parameter covers the renamed tags mirrored before signing existed. The renamed job's steps run with pipefail, so a signing failure fails the job. The destination name and tag computation is one place (DestinationName, DestinationTag) instead of three; copyImage reports its error so a failed copy is not signed (a copy error is still logged, not fatal, as before). Signed-off-by: Timo Derstappen <teemow@gmail.com>
teemow
force-pushed
the
sign-renamed-images
branch
from
September 18, 2026 22:19
bac47f5 to
73c26b1
Compare
3 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
The
retag-renamed-imagesjob (retagger run,images/renamed-*.yaml) copied images togsoci.azurecr.iowithout signing them: the sign step added in #1230 covered the skopeo files only, and the README said so. This closes the gap so that every image retagger copies to gsoci carries the CircleCI identity's signature:retagger run --signsigns each tag right after its copy to gsoci, through the samesignTagas the skopeo path (same outcomes, sameDone:summary; a copy that failed is not signed; a signing failure fails the run).retagger sign <renamed-images file>accepts a renamed-images file next to a skopeo file (told apart by the document's shape), resolving the destinations from the rules the wayretagger rundoes and sharded by--executor-count/--executor-id. With thesign-allpipeline parameter the renamed job runs it over its share of the file: the one-off pass over the renamed tags mirrored before signing existed, with one worker per job (forty of these jobs share the registry's referrers rate limit).pipefail, so a signing failure fails the job instead of being swallowed bytee.DestinationName,DestinationTag) instead of three;copyImagereports its error so a failed copy is not signed. A copy error is still logged and not fatal, as before.Verification
go test ./...(new tests: destination name/tag rules,DestinationReferencesfrom a fakeskopeo list-tags, renamed-vs-skopeo file detection, executor sharding and invalid-rule reporting ofgovernedReferences),golangci-lint runclean,circleci config validateandyamllintpass.build_retagrun onmainafter the merge (retagger run --signin everyretag-renamed-imagesjob) and onesign-allpipeline over the renamed files; the result (cosign verifyof a renamed tag mirrored before this change) is posted on mirror the KServe serving images and sign every mirrored digest #1227.