Expand description
Process CRD — the K8s-as-Unix-processes wire format.
A Process is one element of the tatara convergence lattice.
Clusters, HelmReleases, migrations, tests — all are Processes.
The reconciliation loop is Unix: fork → exec → wait → exit → reap.
Modules§
- allocation
EphemeralAllocationCRD — a typed request for a pool member.- annotations
- Annotation keys the reconciler reads/writes on owned FluxCD resources.
- attestation
- Three-pillar BLAKE3 attestation — wire-compatible with
tatara_engine::domain::attestation::ConvergenceAttestation. - boundary
- Boundary conditions — predicates that gate phase transitions.
- classification
- The six classification dimensions — CRD-facing with
JsonSchema,From/Intobridges totatara_core::domain::classification. - compliance
- Compliance bindings — CRD-facing with bridges to
tatara_core::compliance_binding. - crd
- The
ProcessCRD —tatara.pleme.io/v1alpha1. - encapsulates
EncapsulatesSpec— how a Process relates to pre-existing in-cluster state.- env
EphemeralEnvId— the typed, validate-by-construction identity of an ephemeral environment (the Dev-Loop “EnvId” keystone; Confluence “9 · Ephemeral Environments”).- ephemeral
EphemeralSpec— the operator-facing typed surface for ephemeral Aplicacao installations.- export
ExportSpec— what an ephemeral Process is allowed to leave behind.- hostname
- Hostname helpers — typed FQDN formatting matching
nix/lib/fleet- domains.nix’smkHostnamepattern. - identity
- Content-addressable identity — deterministic naming from spec.
- intent
- Intent — where the rendered artifacts come from.
- lifetime
- Process lifetime — Permanent (re-converging) vs Ephemeral (auto-SIGTERM on Attested / TTL / Failed).
- lifetime_
clock - Ephemeral lifetime clock — TTL expiry + teardown-policy decisions.
- matrix
EnvMatrixSpec— the ephemeral-environment permutation generator.- phase
- Unix process phases — authoritative state machine.
- pool
EphemeralPoolCRD — a population of warm, pre-attested ephemeral Processes that get allocated to requestors (e.g., a GitHub PR flow) on demand and returned (per a typed policy) when the requestor releases them.- prelude
- receipt
tatara-receipt/v1— the typed receipt envelope every pleme-io Job emits to prove its work was done.- routing
RoutingSpec— declared DNS + Ingress edges this Process exposes.- schema_
helpers - Shared schemars helpers — emit OpenAPI schemas Kubernetes accepts.
Free-form
serde_json::Valuefields default to an empty schema in schemars, which the K8s API server rejects with “type: Required value: must not be empty for specified object fields”. The typed workaround is to emit{type: object, x-kubernetes-preserve-unknown- fields: true}— same shape kube-rs’s own helpers produce. - signal
- First-class CRD signals — Unix semantics over Kubernetes.
- spec
ProcessSpecsub-structures — IdentitySpec, DependsOn, SignalPolicy.- status
ProcessStatussub-structures — conditions, checked boundaries, Flux refs.- table
ProcessTable— cluster-scoped/procregistry.- tagged_
union tagged_union::resolve— the typescape’s “exactly-one-Option” pattern, lifted to one source of truth.
Constants§
- GROUP
- CRD API group for every tatara CRD.
- PROCESS_
FINALIZER - Standard finalizer for the Process reconciler.
- VERSION
- CRD version for this module.
Functions§
- compile_
source - Compile a Lisp source string into a list of named ProcessSpecs.
Each top-level
(defpoint NAME …)form becomes oneDefinition. - register_
all - Register every domain owned by this crate with the global Lisp
dispatcher. Call once per binary, typically near the top of
main. After this call,tatara_lisp::domain::lookup("defpoint")andlookup("defephemeral")both resolve to the right typed compiler.
Type Aliases§
- Definition
- A named ProcessSpec as produced by
compile_source.