← Ledger


Date: 2026-07-03 Status: Accepted

Context

Phase 5c landed LocalDocker (OSS parity). Redesign spec docs/specs/2026-05-02-rocky-system-redesign.md §SS-08 lists three drivers; the two remaining are Kustomize (self-hosters running their own k8s) and DevarnoCloud (managed). Phase 6a ships Kustomize. Phase 6b (DevarnoCloud) is deferred until cloud creds + product SKUs are wired.

Decision

Kustomize driver lands as an emit-only target. Provision writes a kustomization.yaml + three resource manifests under $ROCKY_HEARTH_KUSTOMIZE_OUTDIR/<slug>/; the operator applies + deletes out-of-band via kubectl {apply,delete} -k <dir>. No client-go at this stage.

Locked semantics (mirror the LocalDocker contract):

Wired into cmd/hearth/main.go as ROCKY_HEARTH_DRIVER=kustomize. Reuses ROCKY_HEARTH_IMAGE_CAIRNET / ROCKY_HEARTH_IMAGE_LORE. New env: ROCKY_HEARTH_KUSTOMIZE_OUTDIR (default /var/lib/rocky-hearth/manifests).

No console-side changes — driver name is opaque to console/src/lib/hearth/.

Non-goals (deferred to 6a-followup)

Evidence

Consequences