Deployment (kind: deployment)
The “container instance” (ADR-0011): executes a workspace’s provisioning recipe
against a specific environment, for a specific tenant. The
workspace says what runs and in what order; the deployment says where, with which values, and
with what runtime behavior. strata build run/strata deploy run both take a deployment name.
Schema
spec.workspace— theworkspacedocument this deployment instantiatesspec.environments[]—environmentdocuments, merged left-to-right (later wins)spec.tenant— optionaltenantreference; its defaults merge in firstspec.extends— another deployment document (typicallypartial: true) whose spec is merged in before this one’s (child wins; stages merge by step name;environmentslists append base-first)spec.partial—truemarks a base deployment as not independently deployable (a leaf picks it up viaextends)spec.locking— deployment lock configurationspec.layers— deployment layer/scope segmentsspec.stages[]— runtime parameters per provisioning step, each:step— theworkspacespec.execution[].namethese parameters apply to (never redefines what runs — only how)enabled— bool, or a string expression (accepted but not yet evaluated)on_failure—stop,rollback, orcontinuetimeouts— per-phase (setup/check/plan/apply/destroy) overrideshealth_checks[]— post-stagehttp/tcpreachability probessecrets[]— secret keys this stage needs injectednamespace/helm_namespaces[]— restrict a stage to specific namespaces
spec.configurations/spec.properties/spec.lifecycle— passthrough/merge layers
Example
apiVersion: strata.huybrechts.xyz/v2
kind: deployment
meta:
name: deploy-base
annotations:
description: "Reusable base — extended per instance, not deployable alone"
spec:
partial: true
workspace: main
# locking: ...
apiVersion: strata.huybrechts.xyz/v2
kind: deployment
meta:
name: prd-deployment
annotations:
description: "Production instance — inherits structure from deploy-base"
tags: ["production"]
spec:
extends: deploy-base
environments:
- prd
tenant: c0062
Notes
extendscomposes structure (stages, workspace);environmentscomposes values — a deployment can extend a base for its stage recipe while merging its own, different environment list.versions,promotion,gatesare declared in the model (for CLI parity with real invocations) but have zero real production usage and no execution engine behind them yet.Run
strata values get prd-deployment KEY...beforebuild run/deploy runto see exactly what a deployment resolves.