Expand description
EncapsulatesSpec — how a Process relates to pre-existing
in-cluster state.
The substrate move: every long-running workload on a pleme-io cluster — raw HelmReleases, Flux Kustomizations, bare Deployments — becomes a Process without disruption. Three modes:
-
Manage (default) — Process IS the control loop. New HR/Kustomization emitted by the reconciler use ownerRefs pointing at the Process; cascade-delete on Reaped.
-
Adopt — Take over an existing HR/Kustomization in place. Reconciler emits a new HR with
releaseNamematching the running release; helm-controller adopts the existing release under new management. No pod restart; no values diff unless operator changes them. The original raw HR can be deleted from git after the takeover confirms. -
Observe — Read-only awareness. Process watches the existing state for postcondition pillars + emits routing/exports/ attestation, but does NOT modify or own the underlying HR/Kustomization. Useful for adding DNS + observability to legacy stacks without taking over.
These compose progressively: Observe an HR first to confirm shape, promote to Adopt for zero-downtime takeover, then to Manage once the Process drives values.
Lisp authoring:
:encapsulates (:kind (:existing-helm-release
:namespace "akeyless"
:name "akeyless-saas"
:release-name "akeyless-saas-consolidated")
:mode Adopt)Structs§
- Bare
Workload - Pointer to a bare in-cluster workload (not Flux-managed). The
reconciler identifies the underlying Pods by
selectorand adds ownerRefs / routing without emitting a new HR/Kustomization. - Encapsulates
Spec - How a Process wraps pre-existing in-cluster state.
- Encapsulation
Kind - Three concrete kinds the substrate knows how to wrap. Exactly-
one-Option pattern matching
Intent/Lifetime— additive on the wire, every variant typed. - Existing
Helm Release - Pointer to an existing FluxCD HelmRelease the Process wraps.
- Existing
Kustomization - Pointer to an existing FluxCD Kustomization the Process wraps.
- Unknown
Encapsulation Mode - Unknown
Encapsulation Target
Enums§
- Encapsulation
Kind Error - Encapsulation
Kind Variant - Resolved enum view used by the render phase.
- Encapsulation
Mode - Three modes the reconciler dispatches on at render time.
- Encapsulation
Target - Closed-set discriminator over
EncapsulationKind’s three tagged-union slots. Single source of truth that drivesEncapsulationKind::variant’s ambiguity + emptiness resolver, theEncapsulationKindError::Emptydiagnostic message, and the reverseEncapsulationKindVariant::targetprojection. Adding a fourth encapsulation target (e.g., a futureExistingNamespace,ExistingDaemonSet, orExistingService) lands at oneALLentry + oneas_strarm + oneselectarm + oneEncapsulationKindVariant::targetarm — exhaustively checked by the compiler.