本文档是 Azure Terraform 模块 公开的每个输入变量的完整参考。请在首次填写 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 中设置以下内容: