我想用secrets
列表遍历grafana-secrets
数据源。
此输出应在模块内部映射为env_secrets
。
现在,模块将将此映射用作vars = {}
(即使它为空,也就是其通用模块),并将使用模板文件。
这是我的 NONWORKING 用例,仅供参考:
variable "grafana-secrets" {
type = "list"
default = ["GF_DATABASE_USER","GF_AUTH_GENERIC_OAUTH_CLIENT_SECRET","GF_SESSION_PROVIDER_CONFIG"]
}
data "azurerm_key_vault_secret" "secrets" {
count = "${length(var.grafana-secrets)}"
name = "${element(var.grafana-secrets, count.index)}"
vault_uri = "https://foobar.vault.azure.net/"
}
module "grafana" {
source = "modules/deployment"
env_secrets = {
"${element(var.grafana-secrets, count.index)}" = data.azurerm_key_vault_secret.secret.*.value
}
}
模块/部署:
data "template_file" "template" {
template = ".secrets"
vars = "${merge(
env_secrets,
map(
"dummy", "dummy"
)
)}"
}