Lightweight templating to keep specs DRY and wire modules together.
What it does
- Intrinsics:
${env_name},${layer_name}. - References:
${module.<id>.<output>},${parent.<output>}(services),${var.<name>}. - Auto-wires inputs to outputs when names match within scope; missing required values fail validation.
Examples
public_uri: "https://${module.dns.domain}"
bucket_name: "app-${env_name}"
max_nodes: "${var.max_nodes}"
public_url: "${parent.domain}/hello" # in a service spec
Notes
- Services can reference parent env outputs via
${parent.*}. - Variables precedence: env vars → service envRef vars → CLI
--var.