Skip to main content

Module intent

Module intent 

Source
Expand description

Intent — where the rendered artifacts come from.

Exactly one field on Intent must be set. The reconciler’s RENDER phase selects a driver based on which variant is present:

  • nix: tatara-engine nix_eval → resources
  • flux: pass through an existing GitRepository
  • lisp: tatara-lisp reader + macroexpander → resources
  • container: emit Deployment/StatefulSet/etc directly (no Helm)
  • aplicacao: emit a FluxCD HelmRelease for a pleme-io typed Aplicacao chart (e.g. lareira-akeyless-deployment). This is the canonical handoff from caixa-shaped declarations to in-cluster reconciliation.
  • guest: tatara-hospedeiro supervises a Linux VM or WASM component. See tatara/docs/declarative-guests.md. The GuestSpec itself is type-erased here (JSON value) so tatara-process stays decoupled from tatara-vm; hospedeiro re-parses the value as GuestSpec on boot.

Structs§

AplicacaoIntent
Aplicacao intent — emit a FluxCD HelmRelease for a pleme-io typed Aplicacao chart. The chart owns its own sub-chart DAG; the reconciler only watches HelmRelease.status.conditions[type=Ready].
ContainerIntent
Container intent — direct Deployment/StatefulSet/etc, no Helm.
FluxIntent
FluxCD passthrough intent — reuse an existing GitRepository.
GuestIntent
Guest intent — the Process is a Linux VM or WASM component supervised by tatara-hospedeiro. See tatara/docs/declarative-guests.md.
Intent
Intent — exactly one variant should be populated.
LispIntent
Lisp-sourced intent — tatara-lisp reader + macroexpander produces resources.
NixIntent
Nix-sourced intent — tatara-engine’s nix_eval driver produces resources.
UnknownIntentKind
UnknownWorkloadKind

Enums§

IntentError
IntentKind
Closed-set discriminator over Intent’s six tagged-union slots. Single source of truth that drives Intent::variant’s ambiguity
IntentVariant
Enum view over the populated variant — convenience for the reconciler.
WorkloadKind
K8s workload kind the container intent renders into. PascalCase values match the K8s kind: field on the emitted manifest verbatim, so as_str doubles as the canonical kind: projection at render time.