make targets run from modules/azure/. Run make help for an inline summary.
For the full deployment walkthrough, see the Azure deployment guide.
Deployment overview
First-time setup
make init, run the rest of steps 4 through 8 in one shot:
Day-2 operations
Add-ons
Add-ons are controlled by flags ininfra/terraform.tfvars. Set the flags, then re-run make init-values && make deploy. enable_fleet and enable_smithdb also create Terraform resources, so run make apply first. init-values.sh writes the matching overlay into helm/values/ automatically.
Sizing profiles
Setsizing_profile in terraform.tfvars, then re-run make init-values && make deploy.
kubectl
Azure CLI
Terraform
Run Terraform throughmake from modules/azure/. ARGS is appended to the Terraform command, so you do not need -chdir.
Key constraints
make applyruns three targeted stages (Azure infrastructure, Kubernetes bootstrap, then everything else), and each stage prompts for confirmation.ARGS="-auto-approve"skips all three prompts.- Uninstall Helm before
terraform destroy. The Azure Load Balancer holds a subnet reference; leaving it blocks VNet deletion. Runmake uninstallfirst. config.deployment.urlmust includehttps://. Without it, operator-spawned agents stay stuck inDEPLOYING.config.deployment.enabled: trueis required for the LangSmith Deployment add-on. Setting only the URL withoutenabled: truesilently skipslistenerandoperator.- Encryption keys must never change after first enable. Rotating
insights_encryption_keyorpolly_encryption_keypermanently breaks existing encrypted data. - Roll the frontend after first Polly enable. The
langsmith-polly-configConfigMap appears after Polly registers; frontend pods started earlier do not pick it up. letsencrypt(HTTP-01) only works withnginx,istio(self-managed), andenvoy-gateway. Foristio-addonoragic, usedns01with a custom domain,existingwith your own certificate, ornonefor HTTP-only.- Set
aks_private_cluster_enabled,aks_private_dns_zone_id, andaks_control_plane_identitybefore the first apply. Plan refuses a change to any of them on an existing cluster. v0.17.*module tags deploy only the chart 0.17 line, andv0.16.*tags deploy only 0.16. On av0.16.*tag,enable_smithdb = truerequires the 0.17 line, so setlangsmith_helm_chart_version = "~0.17.0"with it. A deployment that has run chart 0.17 cannot return to 0.16.- Enable
enable_sso_oidconly after you have logged in as the org admin with basic auth. The flag disables basic auth. - Key Vault enters 90-day soft-delete after destroy. With
keyvault_purge_protection = false, runaz keyvault purgeto reclaim the name immediately.
Teardown
make destroy-force and make clean-force run the same steps without the confirmation prompt.
Connect these docs to your agent of choice via MCP for real-time answers.

