terraform.tfvars for the first time or tuning an existing deployment.
Variables come in two categories:
- Non-sensitive (region, sizing, feature flags): set in
infra/terraform.tfvars. - Sensitive (license key, passwords, encryption keys): set with
make setup-env, which writes them toinfra/secrets.auto.tfvars(gitignored, auto-loaded by Terraform) and stores them in Azure Key Vault.
Core
Networking
AKS
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. They control which Helm overlays the scripts generate.
Security and audit
Sensitive variables (set with setup-env.sh)
make setup-env writes these to secrets.auto.tfvars and Terraform stores them in Azure Key Vault. Never set these inline in terraform.tfvars.
make setup-env also manages postgres_admin_password and langsmith_admin_email, documented in the PostgreSQL and LangSmith application sections. This table lists only the sensitive variables that do not appear elsewhere in this reference.
App module variables (Terraform path)
The Terraform path (make init-app then make apply-app) manages the LangSmith Helm release, its Kubernetes Secret, and the Workload Identity ServiceAccount in Terraform state instead of through the Helm shell scripts. Its variables live in app/terraform.tfvars. Use this path as an alternative to make init-values && make deploy. For when to choose this path, refer to the Azure deployment guide.
make init-app auto-populates the infrastructure passthrough variables (subscription_id, resource_group_name, cluster_name, keyvault_name, storage_account_name, storage_container_name, workload_identity_client_id, langsmith_namespace, tls_certificate_source, ingress_controller, and dns_label) from the infra module outputs. Each defaults to null and fails at plan time with a precondition error naming what is missing. Override them only when running the app module against infrastructure you provisioned separately.
Set the following in app/terraform.tfvars:
Connect these docs to Claude, VSCode, and more via MCP for real-time answers.

