我是terraform的新手,我正在考虑为新环境编写代码的最佳结构。
比方说,我为我的每个环境dev,登台和生产环境都有一个根目录。
我想知道最好是将模块目录作为子目录定位在根目录之外,还是将模块目录定位在与根目录相同的级别。
官方指南将模块目录显示为每个根目录下的子目录(即,用于dev的模块目录,用于暂存的另一个目录等),但这使为每个环境共享模块变得困难。尽管https://www.terraform.io/docs/modules/index.html
这似乎是官方建议您的存储库中通常在哪里放置内部模块?
问候 肖恩
答案 0 :(得分:0)
我们尽量不要创建“内部”模块,因为它们无法在存储库中重复使用,因此我们使用git源而不是文件系统源。我觉得这种方法更好,因为
从git采购模块时,只需为每个模块创建一个新的存储库。然后,您可以使用模块文件保持整洁
versions.tf用于固定模块所需的Terraform核心和提供程序版本。
即
terraform {
version = "= 0.12.9"
required_providers {
aws = ">= 2.7.0"
}
}