【发布时间】:2020-03-17 23:11:24
【问题描述】:
我正在使用 terraform 在 Azure 云中构建生产基础架构。我的要求如下。
应首先配置 Azure 密钥保管库,因为我将利用那里的秘密。但是由于 terraform 模块不支持depend_on。任何解决方法都非常适用。
source = "./../modules/azurekeyvault/"
username = "${var.username}"
tags_environment = "${var.tags_environment}"
}
module "mysql" {
source = "./../modules/mysql/"
}
Azure 密钥保管库模块。
name = "${var.lsrkeyvault}"
location = "${data.azurerm_resource_group.lsr.location}"
resource_group_name = "${data.azurerm_resource_group.lsr.name}"
enabled_for_disk_encryption = true
tenant_id = "${data.azurerm_client_config.current.tenant_id}"
sku_name = "standard
resource "azurerm_key_vault_secret" "userlist" {
count = length(var.username)
name = "${var.username[count.index]}"
value = "${bcrypt(random_string.password.result)}"
key_vault_id = "${azurerm_key_vault.kvlsr.id}"
tags = {
environment = "${var.tags_environment}"
}
}
Mysql 模块代码:
name = "kyv-lsr-dev"
resource_group_name = "rgroup"
}
data "azurerm_key_vault_secret" "userlist" {
name = "mylab"
key_vault_id = "${data.azurerm_key_vault.keyvault.id}"
【问题讨论】:
-
我会单独配置密钥保管库等,并使用它们自己的状态,然后只需使用保管库传递秘密等。我就是这么做的,如果你想让我告诉你怎么做,请告诉我
-
@Naim 感谢您的回答,但在这种情况下,我必须维护 2 个单独的状态文件。我想要一个单一的状态文件,所有基础设施都应该提供。请出示您的代码
-
嗨stackoverflow.com/users/10870934/vijay-verma,如果您可以编辑您的问题以显示mysql模块,我可以快速编写代码示例来回答您的需求
-
如何为模块实现depends_on见medium.com/mineiros/…