Skip to main content
Reference for the input variables you set in the Azure Terraform module. Use it while filling in terraform.tfvars for the first time or tuning an existing deployment. For naming overrides and other advanced inputs not listed here, refer to infra/variables.tf. Variables come in two categories:
  • Non-sensitive (region, sizing, feature flags): set in infra/terraform.tfvars.
  • Sensitive (license key, PostgreSQL password): set with make setup-env, which writes them to infra/secrets.auto.tfvars (gitignored, auto-loaded by Terraform). The application secrets are not Terraform variables. make seed-secrets writes them to Azure Key Vault, as the sensitive variables section at the end of this page describes.
For the end-to-end install, refer to the deploy guide. For how the modules fit together, refer to the architecture reference.

Core

name_prefix replaces identifier. A terraform.tfvars that still sets identifier fails the plan. Rename the variable and drop the leading hyphen: identifier = "-prod" becomes name_prefix = "prod". Resource names do not change.

Networking

AKS

The private API server, Entra, and control-plane identity variables apply only to a cluster Terraform creates. On an attached cluster (create_cluster = false), Terraform makes no control-plane grants, and aks_kube_auth = "auto" detects Entra ID on the cluster itself.

Data sources

PostgreSQL

Redis

Blob storage

Key Vault

Ingress

DNS and TLS

LangSmith application

Sizing and add-on flags

init-values.sh and deploy.sh read these flags. Terraform ignores them, except enable_fleet and a validation that enable_gateway_pii_redaction requires enable_llm_gateway. They control which Helm overlays the scripts generate. The enable_llm_gateway, enable_gateway_pii_redaction, and enable_sso_oidc flags exist only on v0.17.* module tags.

SmithDB

SmithDB is optional. enable_smithdb provisions Azure resources, so run make apply before deploying. It requires the chart 0.17 line, which v0.17.* module tags deploy by default. On a v0.16.* tag, SmithDB needs v0.16.56 or later and langsmith_helm_chart_version = "~0.17.0". For the full requirements, refer to SMITHDB.md.

Security and audit

Sensitive variables (set with setup-env.sh)

make setup-env writes postgres_admin_password, langsmith_license_key, and langsmith_admin_email to secrets.auto.tfvars. make apply stores the license key and the PostgreSQL password in Azure Key Vault. With keyvault_manage_secrets = false, make seed-secrets stores them instead. Never set these inline in terraform.tfvars. langsmith_license_key holds the LangSmith enterprise license key. The PostgreSQL and LangSmith application sections document the other two. The application secrets are not Terraform variables, so their values never enter Terraform state. make seed-secrets writes them to Key Vault after make apply: the initial org admin password, the API key salt, the JWT secret, and the Fernet encryption keys for LangSmith Deployment, Agent Builder, Insights, and Polly. It never overwrites an existing secret, because changing any of them breaks running deployments. To rotate one deliberately, use make keyvault.