feat: supply-chain signing + SBOM (cosign keyless + CycloneDX)#198
feat: supply-chain signing + SBOM (cosign keyless + CycloneDX)#198Kokila-chandrakar wants to merge 14 commits into
Conversation
Add supply-chain hygiene for SLSA/NIST SSDF compliance: - release.yml: id-token: write permission added for GitHub OIDC; install cosign + syft; sign versioned and latest container images by digest; generate and attest CycloneDX SBOM to image; upload SBOM as release asset - .goreleaser.yml: signs: block to cosign sign-blob checksums.txt (covers all binaries/archives); sboms: block to generate per-arch CycloneDX JSON via Syft - SECURITY.md: document signing identity (OIDC issuer + cert regexp), what is signed, verify commands for image/blob/attestation, and tampered artifact reporting process No new secrets required — uses GitHub Actions keyless OIDC signing.
|
🚀 First PR — welcome aboard! A few things to expect:
If you get stuck, reply here or jump to Discussions. We want this PR to land. |
|
@Kokila-chandrakar Ill review this.. but for now dont add anything in readme.. it already very lenghty .. create a seprate doc and You can just link it in readme |
btwshivam
left a comment
There was a problem hiding this comment.
the keyless cosign + cyclonedx config is valid (goreleaser check passes, id-token: write is set), but the diff carries dupes and unrelated changes: a duplicated cosign step, a duplicated arm64 manifest, an unexplained goreleaser-action v7 to v6 downgrade, removed .goreleaser comments documenting the bpf invariants, and Hindi prose in the public SECURITY.md. clean those out.
…er to v7, fix SECURITY.md prose
|
/retest |
|
Re-running 1 failed workflow run(s) on |
|
|
Hi @btwshivam This PR has been waiting for review for a few days now. All conflicts have been resolved and the changes are ready for maintainer review. I'd be grateful if you could take a look when available. Thanks! |
What
Adds production-grade supply-chain hygiene so enterprise customers
can deploy kerno under SLSA / NIST SSDF requirements.
Changes
.github/workflows/release.yml.goreleaser.ymlsigns:andsboms:sectionsSECURITY.mdVerification (after merge + tag)
cosign verify ghcr.io/optiqor/kerno:v0.1.0 \ --certificate-identity-regexp '^https://github\.com/optiqor/kerno/\.github/workflows/release\.yml@refs/tags/v' \ --certificate-oidc-issuer https://token.actions.githubusercontent.comNotes