【发布时间】:2020-08-04 13:35:48
【问题描述】:
我正在编写一个 terraform 模块,它将根据传递给它的键从地图中选择一个值。 没有什么不寻常的。
然而,该映射中的值是秘密的,并且不会根据调用模块的人而改变。 我认为保守这些秘密的一种简单方法是将变量定义为模块中 variables.tf 中的映射,将键/值放在模块中的 terraform.tfvars .gitignore terraform.tfvars 中,并将其加密为terraform.tfvars.gpg 什么的。
但这不起作用,因为我没有模块中的变量的默认值 terraform 期望该变量由调用者设置。 我可以在没有值的情况下在调用者中定义变量,将其添加到调用中,然后手动指定 --var-file 或在调用者中包含 terraform.tfvars。但这意味着用户必须记住一个神奇的 --var-file 调用或 terraform.tfvars 在使用我的新模块的任何地方的重复。 记住魔术字符串和重复都不是好的选择。
模块是否可以使用自己的 tfvars 来填充未传递给它的变量?
【问题讨论】:
标签: terraform