【问题标题】:Terraform modules sub directory placementTerraform 模块子目录放置
【发布时间】:2020-01-28 16:02:43
【问题描述】:

我是 terraform 的新手,我正在考虑编写新环境的最佳结构。

假设我的每个环境 dev、staging 和 production 都有一个根目录。

我想知道最好将模块目录定位为根目录之外的子目录,还是将模块目录定位在与根目录相同的级别。

官方指南将模块目录显示为每个根目录下的子目录(即一个模块目录用于开发,另一个用于暂存等),但这使得共享每个环境的模块变得困难。这似乎是官方的建议,虽然https://www.terraform.io/docs/modules/index.html

您的存储库中的内部模块通常位于何处?

问候 肖恩

【问题讨论】:

    标签: terraform


    【解决方案1】:

    我们尽量不创建“内部”模块,因为它们不能跨 repos 重用,因此我们使用 git 源而不是文件系统源。我觉得这种方法更好,因为

    1. 模块不绑定到单个存储库
    2. 您可以对模块进行版本控制,source specific refs

    从 git 获取模块时,您只需为每个模块创建一个新的存储库。然后你可以用你的模块文件保持干净

    • main.tf
    • 变量.tf
    • 输出.tf
    • versions.tf

    versions.tf 用于固定模块所需的 Terraform 核心和提供程序版本。

    terraform {
        version = "= 0.12.9"
        required_providers {
            aws = ">= 2.7.0"
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2021-07-13
      • 1970-01-01
      • 1970-01-01
      • 2021-01-10
      • 1970-01-01
      • 1970-01-01
      • 2022-08-03
      • 2021-03-16
      • 2021-06-26
      相关资源
      最近更新 更多