terraform - 如何将变量传递给 heml.tf 中的 yaml 文件?

标签 terraform kubernetes-helm android-3.0-honeycomb amazon-eks

我有一个用于使用 helm helm.tf 创建 terraform 资源的文件。
在这个文件中,我创建了一个蜂窝代理,需要传入一些观察者,所以我使用了一个 yaml 文件进行配置。这是 helm.tf 的片段:

resource "helm_release" "honeycomb" {
  version = "0.11.0"
  depends_on = [module.eks]
  repository = "https://honeycombio.github.io/helm-charts"
  chart = "honeycomb"
  name = "honeycomb"

  values = [
    file("modules/kubernetes/helm/honeycomb.yml")
  ]
}
这是yaml文件
agent:
  watchers:
    - labelSelector: "app=my-app"
      namespace: my-namespace
      dataset: {{$env}}
      parser:
        name: nginx
        dataset: {{$env}}
        options:
          log_format: "blah"
不幸的是,我尝试使用 {{$x}} 设置变量没有奏效,那么我将如何将 env 变量发送到 yaml 值文件?我在 tf 文件中有可用的变量,但不确定如何在值文件中设置它。
谢谢

最佳答案

您可以使用 templatefile 函数

main.tf

resource "helm_release" "honeycomb" {
  version    = "0.11.0"
  depends_on = [module.eks]
  repository = "https://honeycombio.github.io/helm-charts"
  chart      = "honeycomb"
  name       = "honeycomb"

  values = [
    templatefile("modules/kubernetes/helm/honeycomb.yml", { env = "${var.env}" })
  ]
}

honeycomb.yml

agent:
  watchers:
    - labelSelector: "app=my-app"
      namespace: my-namespace
      dataset: "${env}"
      parser:
        name: nginx
        dataset: "${env}"
        options:
          log_format: "blah"

关于terraform - 如何将变量传递给 heml.tf 中的 yaml 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64696721/

相关文章:

Kubernetes ReplicaFailure FailedCreate 但没有事件

postgresql - 为 Postgres 的 SSL 安装 SSH key

android - 在 Android 3.0 中,是否有一种标准方法可以在操作栏项目之间添加分隔符?

android - 在 Android 3.0+ 中使用 android.app.Fragment 和 ViewPager

amazon-web-services - 如何在Terraform中解密Windows管理员密码?

amazon-web-services - 存储类的自定义配置程序

azure - 当存储帐户尝试使用私有(private)终结点访问 Key Vault 中的客户托管 key (使用 Terraform)时,出现 "KeyVaultAuthenticationFailure"

android - CursorLoader 构造函数中的空指针异常

"aws_cloudformation_stack"的 Terraform 不受支持的 block 类型错误

azure - 如何使用 Terraform 和 Azure 强制删除/释放网络服务组?