Configuration Files
strata uses YAML documents to define infrastructure, environments, and deployments. Every
document follows the same shape (apiVersion, kind, meta, spec) and is discovered
automatically from a solution root (strata.yaml) — see
docs/GLOSSARY.md for the discovery mechanism itself.
This folder documents each kind’s schema individually; for current implementation status,
see docs/design/v2-schema-overview.md.
File Types
Bootstrap:
solution.md —
strata.yaml, the solution manifest (identity, remotes, discovery root)configuration.md — platform-wide policy (allowed provider/topology types)
Type registries:
providerconfig.md — valid regions/resource types per provider type
topologyconfig.md — expected component roles per topology type
Infrastructure:
provider.md — a cloud provider instance (credentials, region)
resource.md — a provisioned cloud resource (VM, storage, etc.)
network.md — VPCs/VNets, subnets, peerings
firewall.md — security rules
dns.md — DNS zones and records
workspace.md — the composed “image”: providers, resources, topologies, provisioning recipe
Workloads:
module.md — a deployable workload (containers, env vars, mounts, health checks)
namespace.md — a named collection of modules
Deployment:
tenant.md — customer/organization identity and inherited defaults
environment.md — real declared variables/secrets/feature flags
deployment.md — workspace + environment + tenant, tied into stages
version.md — pinned tool/image/chart versions with rationale
artifact.md — a pinnable reference to something external (a container image today)
Tooling:
integration.md — a connection to an external tool (Terraform, Helm, Compose, …) — for a configuration guide per real integration (Infisical, Azure Key Vault, Azure App Configuration), see docs/integrations/
Architecture
Solution (strata.yaml)
└─ Configuration ── ProviderConfig / TopologyConfig (type registries)
└─ Workspace ── Provider, Resource, Topology, Namespace ── Module
└─ Deployment ── extends → Workspace + Environment(s) + Tenant
Every reference between documents is (kind, meta.name) — never a file path (ADR-0015). Rename
or reorganize files freely; nothing here depends on directory layout or file naming.
Quick Start
See config/ for a real, working solution exercising every kind above
end to end, and its own README for the validate/build/deploy commands to run against it.