Deployment (Zarf)
Airgap-ready packaging per the cyberphy laws — CLOSURE, CONSERVATION, RECONCILIATION, PARTIAL ROLLOUT:
- Everything the deploy needs is declared once in
zarf/artifacts.manifest.jsonand verified at build time byzarf/scripts/check-closure.py(just zarf-build) — nothing is discovered missing inside the air gap. - SBOMs are required. Never pass
--skip-sbom; the closure gate asserts the SBOM entry in the built package. This is a deliberate raise over the older repos (aegir skips SBOMs; cyberphy generates but never asserts). - Realized
*.closure.jsonfiles are committed per release as provenance. - Size budget: 2 GiB hard (GitHub release asset limit), warn at 1.75 GiB.
Deployment modalities follow the house taxonomy — laptop (k3d + Tilt) →
workstation (RKE2) → airgap — with policy/k8s/<modality>/ gating each as
it lands.
Open item: cosign/GPG signing (the whole constellation is SHA256SUMS-only today).