feat(delivery): deploy dev and prod from one signed bundle #30
No reviewers
Labels
No labels
app-migration
bug
ci-cd
cluster
Documentation
duplicate
enhancement
gpu
invalid
networking
question
security
Storage
wontfix
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
Homelab/workflows!30
Loading…
Reference in a new issue
No description provided.
Delete branch "kiyi/environment-promotion"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
A selected environment previously had to match a separately built archive. Add opt-in build-once promotion: .pipeline/promotion.json packages reviewed dev and prod manifests into separate Zarf packages inside one signed UDS archive. Deployment verifies the receipt, selects the signed profile and calls uds deploy --packages for that environment without rebuilding archive bytes. Both profiles require identical pinned images and separate namespaces, package names, endpoints and static PVs; direct host/NFS mounts are rejected. Legacy single-environment archives keep their mismatch rejection.
The existing OpenBao credential wrapper and download/signature/rescan/gateway/rollout/HTTPS checks remain active. Add stage logging and archive digest output. Extend Actual’s permission contract for its isolated dev namespace, production gateway and dev Zarf metadata; platform RBAC must be applied before adopting this release. Refresh only the two existing location-sensitive mitigation fingerprints; controls and expiry are unchanged.
Validation: 102 library tests pass on Linux, including both environments selecting different packages from identical signed archive bytes, mismatched images/shared PVs/shared namespaces, tampered metadata and existing credential cleanup/negative permissions. This is mocked pipeline validation; native UDS builds and live deployment/promotion acceptance remain pending. Intended release v1.5.0.
Tracks Homelab/workflows#5, Homelab/workflows#19 and Homelab/platform#24.
Approved: no blocking implementation findings in the reviewed build-once promotion changes.
Validation:
Non-blocking follow-up: retain a build-path regression for multi-package generation; the committed promotion tests currently focus on preparation and mocked deployment rather than delivery.build.
Operational sequencing remains mandatory: approve/merge/apply the platform RBAC before adopting the new library in the app caller. My separate platform review requests wiring its new RBAC test into hosted CI. Real credential issuance, signed application build, dev/prod deployment and promotion acceptance remain separate owner-run work; none was performed here.