随着Terraform信息库数量的增加,确保所有对模块的引用都使用最新的标记版本已成为一个问题。
人们如何管理其Terraform模块依赖性?
理想情况下,当运行计划时模块的更高标记可用时,会发出警告。
答案 0 :(得分:0)
Latest
是邪恶的(同样适用于docker image标签):-)
请使用标记获取terraform模块
示例:
module "vpc" {
source = "git::https://example.com/vpc.git?ref=v1.2.0"
}
这样,基础架构或应用程序团队可以继续使用新功能,而不会影响引用此模块的其他团队或项目。
答案 1 :(得分:0)
不是解决方案,而是为了使它更引人注意,它提供了更高版本的模块,我们编写了一个自定义的预提交钩子,用于检查是否有可用的新版本显示警告。
其他选择是使用Terragrunt之类的东西,可以通过代码来管理模块版本。