私はTerraform Kubernetes-Provider を使用しています。このkubectl
コマンドをTFに変換します。
kubectl create secret generic my-secret --from-file mysecret.json
ただし、secret
data
フィールド TFマップだけを期待 。
私は好きなことを試してみました
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}"
}
しかし、これはではありませんマップです。だから、私はこのようなことをすることができます:
data = {
"my-secret.json" = "{data.template_file.my-secret.template}"
}
しかし、これはmy-secret.json
という最上位フィールドで秘密を書きます、そしてそれをボリュームマウントするとき、それは他のリソースとは機能しません。
ここでのトリックは何ですか?
ただ使用するだけです https://www.terraform.io/docs/providers/kubernetes/r/config_map.html#binary_data
resource "kubernetes_config_map" "example" {
metadata {
name = "my-config"
}
binary_data = {
"my_payload.bin" = "${filebase64("${path.module}/my_payload.bin")}"
}
}
_