我正在使用 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
并且当我批量挂载它时,它将无法与其他资源一起使用。
这里的诀窍是什么?