Skip to main content

Crate tatara_process

Crate tatara_process 

Source
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
EphemeralAllocation CRD — 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/Into bridges to tatara_core::domain::classification.
compliance
Compliance bindings — CRD-facing with bridges to tatara_core::compliance_binding.
crd
The Process CRD — 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’s mkHostname pattern.
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
EphemeralPool CRD — 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::Value fields 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
ProcessSpec sub-structures — IdentitySpec, DependsOn, SignalPolicy.
status
ProcessStatus sub-structures — conditions, checked boundaries, Flux refs.
table
ProcessTable — cluster-scoped /proc registry.
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 one Definition.
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") and lookup("defephemeral") both resolve to the right typed compiler.

Type Aliases§

Definition
A named ProcessSpec as produced by compile_source.