Skip to main content
Environment variable substitution allows you to reference host environment variables inside YAML configuration files using the {{ env.VAR }} syntax. Values are resolved at configuration load time regardless of which config source is used.
Console terminology: In the Maverics Console, Orchestrator instances and configuration delivery are managed through Deployments. When working directly with YAML, configuration is managed as files delivered via the -config flag or MAVERICS_CONFIG environment variable.

Overview

The {{ env.VAR }} syntax lets you externalize sensitive values and deployment-specific settings from your YAML configuration. This works with any config source — local file, S3, GitHub, or any other remote source. The Orchestrator replaces {{ env.VAR }} with the value of the named environment variable when loading configuration.
Environment variable substitution works with any config source. The {{ env.VAR }} syntax is resolved at configuration load time regardless of whether the config comes from a local file, S3, GitHub, or any other source.

Use Cases

  • Container deployments — inject deployment-specific values (client IDs, tenant IDs, hostnames) via Kubernetes ConfigMaps or Docker environment variables
  • CI/CD pipelines — set deployment-specific values during automated builds without modifying base configuration files
  • Secret injection — reference credentials set in the environment rather than hardcoding them in YAML (for production, use a secret provider instead)

Configuration

Console UI documentation is coming soon. This section will walk you through configuring this component using the Maverics Console’s visual interface, including step-by-step screenshots and field descriptions.

Syntax Reference

SyntaxDescription
{{ env.VAR_NAME }}Substitutes the value of VAR_NAME from the environment
{{env.VAR_NAME}}Also valid — spaces inside braces are optional
The substitution happens at configuration load time. If the referenced environment variable is not set, the Orchestrator will use an empty string.

Troubleshooting

  • Empty values at runtime — verify the environment variable is set in the same shell or process where the Orchestrator runs. Use printenv VAR_NAME to confirm.
  • Substitution not working — check that the syntax uses env. prefix (not just the variable name). The correct format is {{ env.MY_VAR }}, not {{ MY_VAR }} or $MY_VAR.
  • Values with special characters — wrap the substitution in quotes in YAML to prevent parsing issues: "{{ env.MY_VAR }}".