feat(sign): implement support for sigstore bundle format#4519
feat(sign): implement support for sigstore bundle format#4519brandtkeller merged 11 commits intomainfrom
Conversation
Signed-off-by: Brandt Keller <brandt.keller@defenseunicorns.com>
Signed-off-by: Brandt Keller <brandt.keller@defenseunicorns.com>
Signed-off-by: Brandt Keller <brandt.keller@defenseunicorns.com>
✅ Deploy Preview for zarf-docs ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
Codecov Report❌ Patch coverage is
🚀 New features to boost your workflow:
|
Signed-off-by: Brandt Keller <brandt.keller@defenseunicorns.com>
AustinAbro321
left a comment
There was a problem hiding this comment.
Overall logic looks sound, I think the docs could be improved
Signed-off-by: Brandt Keller <brandt.keller@defenseunicorns.com>
Signed-off-by: Brandt Keller <brandt.keller@defenseunicorns.com>
|
|
||
| :::caution[Deprecated] | ||
|
|
||
| The legacy signature format (`zarf.yaml.sig`) is deprecated in favor of the Sigstore bundle format. While Zarf currently supports both formats for backward compatibility, the legacy format will soon no longer be generated for new signatures. Zarf will retain the ability to verify legacy signatures as a fallback for when a package is signed but no bundle signature is present. |
There was a problem hiding this comment.
As of this PR being merged it will no longer be generated for any new signatures correct?
There was a problem hiding this comment.
negative - the legacy format is still being generated as of this PR - but I am proposing a shorter timeline to removal (~2 releases).
There was a problem hiding this comment.
Ah yeah that makes sense, I think it'd advocate for closer to six releases, that way newer packages are still verifiyable on older versions for around 3 months. Either way once this is merged lets make an issue to track the timeline of it being removed
Signed-off-by: Brandt Keller <brandt.keller@defenseunicorns.com>
AustinAbro321
left a comment
There was a problem hiding this comment.
Logic looks good, added a few more comments on documentation
|
|
||
| :::caution[Deprecated] | ||
|
|
||
| The legacy signature format (`zarf.yaml.sig`) is deprecated in favor of the Sigstore bundle format. While Zarf currently supports both formats for backward compatibility, the legacy format will soon no longer be generated for new signatures. Zarf will retain the ability to verify legacy signatures as a fallback for when a package is signed but no bundle signature is present. |
There was a problem hiding this comment.
Ah yeah that makes sense, I think it'd advocate for closer to six releases, that way newer packages are still verifiyable on older versions for around 3 months. Either way once this is merged lets make an issue to track the timeline of it being removed
Signed-off-by: Brandt Keller <brandt.keller@defenseunicorns.com>
Signed-off-by: Brandt Keller <brandt.keller@defenseunicorns.com> Signed-off-by: Austin Abro <austinabro321@gmail.com>
Description
This is a backwards compatible change to update Zarf to using the sigstore bundle format for signatures when signing.
This sets the default signing options to empty strings for infrastructure endpoints - cementing zarfs stance on ensuring no unintentional data or network calls are made.
This is the first iteration towards ZEP-0053: Bundle format and migration and verification strategy. Intentionally establishing a baseline for compatibility with the bundle format before introducing more complexity in verification.
Packages will now include both a
zarf.yaml.sigand azarf.bundle.siguntil we fully deprecate the legacy signature format. Given intent to support verification of the legacy format - it could be as little as multiple releases.Validated that a package without the legacy signature performs verification as intended.
Additionally this adds a tutorial for package sign/verify for the current baseline.
Related Issue
Fixes #4296
Fixes #4276
Relates to zarf-dev/proposals#53
Checklist before merging