feat(delivery): scan and sign containers and UDS releases #8

Merged
gitchegumi merged 6 commits from feat/signed-delivery into main 2026-09-04 13:13:48 -05:00
Member

Adds manual, reusable container publishing and UDS bundle build/deploy workflows. Owned images are built into a local archive, scanned with vulnerability, secret, configuration and ClamAV checks, and accompanied by signed scan reports and SBOM evidence uploaded before the registry push. Bundle deployment verifies signed file hashes, source provenance, current image scans, mitigation expiry and the selected cluster context.

Depends on #7; this PR is stacked on feat/security-pipelines. Merge #7 first, then retarget this PR to main. References #5. Runner migration (#2) remains deferred.

Validation: 23 unit tests and scaffold checks pass. Real scanner tests covered clean source, removed secrets in Git history, sanitized reports and downloaded Alpine image archives. Offline signing verified successfully and rejected tampering. No app images or UDS bundles were built, and no cluster deployment was performed.

Owner activation: follow docs/delivery.md to configure runner labels, protected-branch actor allowlists, registry credentials and signing/cluster secrets. Review and merge before running the UI workflows. End-to-end Forgejo publication/deployment remains an owner acceptance step.

Adds manual, reusable container publishing and UDS bundle build/deploy workflows. Owned images are built into a local archive, scanned with vulnerability, secret, configuration and ClamAV checks, and accompanied by signed scan reports and SBOM evidence uploaded before the registry push. Bundle deployment verifies signed file hashes, source provenance, current image scans, mitigation expiry and the selected cluster context. Depends on #7; this PR is stacked on feat/security-pipelines. Merge #7 first, then retarget this PR to main. References #5. Runner migration (#2) remains deferred. Validation: 23 unit tests and scaffold checks pass. Real scanner tests covered clean source, removed secrets in Git history, sanitized reports and downloaded Alpine image archives. Offline signing verified successfully and rejected tampering. No app images or UDS bundles were built, and no cluster deployment was performed. Owner activation: follow docs/delivery.md to configure runner labels, protected-branch actor allowlists, registry credentials and signing/cluster secrets. Review and merge before running the UI workflows. End-to-end Forgejo publication/deployment remains an owner acceptance step.
feat(delivery): scan and sign containers and UDS releases
Some checks failed
build-bundle.yml / feat(delivery): scan and sign containers and UDS releases (push) Failing after 0s
build-container.yml / feat(delivery): scan and sign containers and UDS releases (push) Failing after 0s
deploy-bundle.yml / feat(delivery): scan and sign containers and UDS releases (push) Failing after 0s
build-bundle.yml / feat(delivery): scan and sign containers and UDS releases (pull_request) Failing after 0s
build-container.yml / feat(delivery): scan and sign containers and UDS releases (pull_request) Failing after 0s
deploy-bundle.yml / feat(delivery): scan and sign containers and UDS releases (pull_request) Failing after 0s
Library checks / tests (pull_request) Has been cancelled
f39d1c06ec
Build containers locally and upload signed evidence before registry pushes. Build UDS bundles from pinned manifests and verify signed payloads, current scans, mitigation expiry and cluster context before deployment. Document owner setup and recovery.
test(delivery): verify evidence precedes registry publication
Some checks failed
build-bundle.yml / test(delivery): verify evidence precedes registry publication (push) Failing after 0s
deploy-bundle.yml / test(delivery): verify evidence precedes registry publication (push) Failing after 0s
Library checks / tests (pull_request) Has been cancelled
build-container.yml / test(delivery): verify evidence precedes registry publication (push) Failing after 0s
build-bundle.yml / test(delivery): verify evidence precedes registry publication (pull_request) Failing after 0s
build-container.yml / test(delivery): verify evidence precedes registry publication (pull_request) Failing after 0s
deploy-bundle.yml / test(delivery): verify evidence precedes registry publication (pull_request) Failing after 0s
c6b5190c65
fix(ci): support Forgejo calls and default to docker runner
Some checks failed
Library checks / tests (pull_request) Failing after 2s
204b86ad7e
ci: route jobs to ci and manual deployment runners
All checks were successful
Library checks / tests (pull_request) Successful in 2m15s
14e8d87d7c
feat(delivery): select signed dev and prod bundle targets
All checks were successful
Library checks / tests (pull_request) Successful in 1m32s
bec6ca1fce
gitchegumi changed target branch from feat/security-pipelines to main 2026-09-04 12:55:14 -05:00
gitchegumi approved these changes 2026-09-04 13:07:21 -05:00
Merge branch 'main' into feat/signed-delivery
All checks were successful
Library checks / tests (pull_request) Successful in 1m48s
8b6386c400
gitchegumi deleted branch feat/signed-delivery 2026-09-04 13:13:48 -05:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
Homelab/workflows!8
No description provided.