Reference
This section collects the specifications of the input files, CLI, and internal data structures that Tazuna accepts, in a form intended to be referenced as a contract.
For why it is shaped this way, see Concepts; for how to drive it, see Guides. The reference sticks to enumerating facts, focusing on fields, types, defaults, and examples.
Contents
Currently the reference includes the following pages. From here we will progressively expand into per-Manifest-type details, CLI, Test plugin, and the internal structure of State.
tazuna.yamlschema — the top-level structure oftazuna.yaml, the only input file to Tazuna, and the common-field specifications ofspec.manifests[]/spec.context_matches/includes, and so on.tazuna.hint.yamlschema — the schema of the hint file that declares constraints over thevarsof a helmfile Manifest. Type, required, conditional-required, format-validation rules, and top-level rules such asoneof_required.- GenesisSecret schema — the YAML schema for generating Kubernetes Secrets from an external secret store (1Password). It is referenced from
tazuna.yamlas a Manifest withtype: genesissecret. - Test plugin — the common fields of
TestPluginSpec(written undermanifests[].testsandspec.tests) and the spec for the built-inWaitUntil/ExistNonExistplugins. - Internal Structure of State — State’s storage location (ConfigMaps in the
tazunanamespace), the string format of State keys, ContentHash computation rules, and Diff type classification spec. - Per Manifest type — one page each for the 5 types
kustomize/helmfile/oras/parallel/genesissecret, covering the meaning ofpath, type-specific fields, and apply / destroy / build behavior. - CLI — the spec of subcommands, global flags, and environment variables of the
tazunabinary. Each subcommand has its own page summarizing flags and behavior.
Reading Conventions
- Field names are shown in their YAML form (camelCase or snake_case).
- All fields without a Required annotation are optional.
- “Default” is the value Tazuna uses when the field is omitted. Zero values (empty string / empty slice /
false/0) are taken as-is unless otherwise noted. - Example YAML is written in its minimal form. Additional fields needed in real operation are described individually in each section.