terraform.tfvars 或调整现有部署时使用。
变量分为两类:
- 非敏感(区域、规模、功能开关):在
infra/terraform.tfvars中设置。 - 敏感(许可证密钥、密码、加密密钥):通过
make setup-env设置,该命令会将它们写入infra/secrets.auto.tfvars(被 gitignore,由 Terraform 自动加载)并存储到 Azure Key Vault。
核心
网络
AKS
数据源
PostgreSQL
Redis
Blob 存储
密钥保管库
入口
DNS 和 TLS
LangSmith 应用
规模和附加组件标志
init-values.sh 和 deploy.sh 读取这些标志;Terraform 会忽略它们。它们控制脚本生成哪些 Helm 覆盖层。
安全和审计
敏感变量(通过 setup-env.sh 设置)
make setup-env 会将这些变量写入 secrets.auto.tfvars,Terraform 会将它们存储在 Azure Key Vault 中。请勿在 terraform.tfvars 中内联设置这些变量。
make setup-env 还管理 postgres_admin_password 和 langsmith_admin_email,它们已记录在 PostgreSQL 和 LangSmith 应用 部分。此表仅列出本参考中其他地方未出现的敏感变量。
应用模块变量(Terraform 路径)
Terraform 路径(make init-app 然后 make apply-app)在 Terraform state 中管理 LangSmith Helm release、其 Kubernetes Secret 和工作负载标识 ServiceAccount,而不是通过 Helm shell 脚本。其变量位于 app/terraform.tfvars 中。可以使用此路径作为 make init-values && make deploy 的替代方案。有关何时选择此路径,请参考 Azure 部署指南。
make init-app 会自动从基础设施模块输出中填充基础设施传递变量(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 和 dns_label)。每个变量默认为 null,并在计划阶段因前置条件错误(指出缺少什么)而失败。仅当针对单独配置的基础设施运行应用模块时才覆盖它们。
在 app/terraform.tfvars 中设置以下内容:
Connect these docs to Claude, VSCode, and more via MCP for real-time answers.

