小编Dav*_*ord的帖子

terraform-kubernetes-provider 如何从文件创建机密?

我正在使用 terraform kubernetes-provider,我想将此kubectl命令转换为 TF:

kubectl create secret generic my-secret --from-file mysecret.json
Run Code Online (Sandbox Code Playgroud)

然而,secret资源的data字段似乎只需要一个 TF map

我试过类似的东西

data "template_file" "my-secret" {
  template = "${file("${path.module}/my-secret.json")}"
}

resource "kubernetes_secret" "sgw-config" {
   metadata {
     name = "my-secret"
   }
   type = "Opaque"
   data = "{data.template_file.my-secret.template}"
}
Run Code Online (Sandbox Code Playgroud)

但它抱怨这不是一张地图。所以,我可以做这样的事情:

   data = {
      "my-secret.json" = "{data.template_file.my-secret.template}"
   }
Run Code Online (Sandbox Code Playgroud)

但这将使用名为的顶级字段写入机密,my-secret.json并且当我批量挂载它时,它将无法与其他资源一起使用。

这里的诀窍是什么?

kubernetes terraform terraform-template-file

10
推荐指数
2
解决办法
6772
查看次数