feat(openbao): declare the platform PKI and transit CRs in Git #750
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/openbao-platform-raw"
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?
What
Flatten the OpenBao slice of the
XPlatformcomposite into plain Flux raw manifests. Ten CRs in nsopenbao: the sharedOpenBaoConnection, the root and internal PKI backends with their CAs, three issuingOpenBaoPKIRoles, the transit backend that holds the cosign image-signing keys, and the cosign-signer policy.This is the same move that took the OpenBao server out of Crossplane on 2026-06-10 (
infrastructure/openbao), one tier up. That one extracted the server; this extracts what the server holds.Why
Step 1 of retiring Crossplane. Ordering that a composition implies becomes ordering that Git states. Per
AGENTS.md, work that makes the cold-boot path simpler counts as progress toward the north star, and is verified by fidelity to live state rather than by a rebuild.Nothing changes in the cluster
Crossplane still owns these CRs. Flux now also declares them. Both write the same bytes.
Evidence the copy is faithful -- server-side apply dry run as the field manager Flux will really use, no conflict on all ten, both as loose files and as rendered output:
Specs are verbatim. Only runtime fields are removed:
status,ownerReferences,managedFields, operator finalizers, and the Crossplanecomposition-resource-nameannotation. The provenance that annotation carried now lives in comments inkustomization.yaml, where it survives the retirement that will stop Crossplane setting it.prune: false, deliberately
The
OpenBaoConnectionis composed inside a CrossplaneObjectwhosespec.deletionPolicyisDelete. Retiring the XR today would delete the CR that every other CR here points at. That is the one real hazard, and it is why the handover has an ordered sequence in the directory README:ObjecttoOrphanprune: trueSharp edge
09-transitbackenddeclarescosign,cosign-ecandbinjovi-forgejo-jwt. The build pipeline signs images with those keys. Every CR keepsspec.deletionPolicy: Retain; the CRD default isDelete.Tests
tests/check.shexits 0.https://claude.ai/code/session_01GfkEuwuvGSqGyXVuxwT7PA