Strata Glossary
Core concepts and terminology used in strata v2 documentation, configuration schemas, and code. Only implemented concepts are listed here. New concepts are added as they’re implemented — see docs/design/v2-schema-overview.md for the authoritative, up-to-date status of every kind.
Document Basics
apiVersion
The strata schema version. Currently strata.huybrechts.xyz/v2 for every document.
Required on every strata document.
kind
The document type — see Kinds below for the full list. Every root model rejects a
mismatched kind: (ADR-0016).
meta
The metadata block on every strata document: name (the document’s identity, unique within its
kind), plus optional annotations, labels, and tags. Required on every document.
spec
The specification block containing the document’s actual content. Schema varies by kind.
Models use Pydantic v2 in strict mode (extra="forbid") — unknown fields are a validation error.
Solution
The root of a strata document tree: one strata.yaml file (kind: solution) that names the
solution, points at its configuration, declares remotes, and optionally excludes paths from
discovery. Document discovery walks up from any path to find it (ADR-0015), then indexes every
document underneath by (kind, meta.name) — never by file path or directory location.
Configuration
A kind: configuration document defining platform-wide policy: which provider types and
topology types this solution allows (providers, topologies).
Kinds
Kind |
Purpose |
|---|---|
|
Platform-wide policy — allowed providers/topologies. |
|
A cloud provider instance: credentials, region, properties. |
|
Registry of valid regions/resource types per provider type. |
|
A provisioned cloud resource (VM, storage, etc.). |
|
DNS zones and records. |
|
VPCs/VNets, subnets, peerings. |
|
Security rules. |
|
A deployable workload — containers, environment variables, mounts, health checks. |
|
A named collection of modules. |
|
A named grouping of resources/namespaces — “what belongs together”. |
|
Registry of expected component roles per topology type. |
|
The composed “image”: providers, resources, topologies, and the provisioning recipe. |
|
The solution manifest ( |
|
Pinned tool/image/chart versions with rationale. |
|
A connection to an external tool — Terraform, Helm, Compose today. |
|
Customer/organization identity — geographies, defaults inherited by every deployment. |
|
The “container instance”: a workspace + an environment + a tenant, with |
|
Real declared variables/secrets/features that value tokens resolve against. |
|
A pinnable, named reference to something external strata doesn’t fetch or deploy itself (a container image today). |
Composition Concepts
extends
Structural inheritance between two deployment documents: a child deployment’s spec is merged
on top of the parent’s (extends: deploy-base) before validation — child fields win; stages
merge by step name; environment lists append base-first. Distinct from environments below,
which composes values, not structure.
environments (on a deployment)
The ordered list of environment documents a deployment pulls variables/secrets/features from.
Multiple environments merge left-to-right — later entries win on key collisions.
Tenant
A customer/organization identity referenced by a deployment (spec.tenant). Supplies defaults
that a deployment inherits unless it overrides them explicitly.
Value token
Embedded value-binding syntax inside a document: ${var:KEY}, ${secret:KEY}, ${feature:KEY}.
Resolved at build/deploy time against the named key’s declared store (constant,
environment, artifact, or an integration-backed secret store).
Source / Remote
A remotes[] entry on the solution manifest names an external module source — local, git,
or helm/OCI-chart — that a workspace’s provisioner or module can pull from
(SourceModel, ADR-0018). vendor/ in an example solution is typically a local stand-in for
what would otherwise be a real remote.
Provisioner / Provisioning Step
A workspace’s execution recipe: which tool (Terraform, Helm, Compose) provisions which part of
the topology, in what order, with what dependencies (ProvisionerModel/ProvisioningStepModel,
ADR-0011). deploy run executes these steps in dependency order; build run renders them.
Integration
The connection layer between strata and an external tool — Terraform, Helm, Compose today.
Each integration knows how to check tool availability, render its own artifact shape, and (for
deploy run) call plan/apply/upgrade against what build run already wrote.
Operational Concepts
strata build run
Renders a deployment’s workspace provisioners into on-disk artifacts (Terraform files, Helm
values, Compose files). Never executes anything — no plan, apply, or deploy call.
strata deploy run
Executes what build run already rendered: terraform plan/apply (or the Helm/Compose
equivalent), per provisioning step, in dependency order. Never renders anything itself.
Diagnostics
The structured findings a validation or run produces — errors, warnings, and info messages, each
naming the failing document/field. What both console and --output json render from, so the two
never describe a run differently.