问题标签 [terragrunt]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
3585 浏览

macos - 如何在 Mac book 上安装 Terragrunt 0.19.x 版本

如何在 Macbook 上安装 terragrunt 0.19.x 版本?

我试过brew install terragrunt只下载 0.18.x。

选项1:

选项2:

输出:

0 投票
1 回答
3312 浏览

terragrunt - 使用 terragrunt 定位单个 terraform 模块及其依赖项

Terragrunt 允许我们一次在多个模块上执行 terraform 命令 ([1])。但是,有时我们希望针对单个模块及其依赖项,以便仅为这些模块创建和应用计划。

这看起来像

其中 backend-app 是我们定位的 s 模块的示例名称。

有没有办法通过 terragrunt cli 实现这一目标?

[1] - https://github.com/gruntwork-io/terragrunt#execute-terraform-commands-on-multiple-modules-at-once

0 投票
1 回答
3167 浏览

terraform - 使用 Terragrunt 从一个 Terraform 模块创建多个对象

我正在通过 terragrunt 使用 terraform。我有一个文件夹,里面有一个 terragrunt.hcl 文件。该文件的目的是在 GCP 中创建多个子网。

为了创建一个子网,我有一个接受多个输入的模块。

我希望能够在我的 terragrunt.hcl 文件中创建多个子网。

我认为最好的方法是创建一个包含字典的列表(或 terraform 所称的地图),然后对其进行迭代。

我有一些代码不起作用

这是一些非工作代码。

似乎我不能在“terraform”块内使用“模块”。希望代码至少显示了我想要实现的目标。

作为参考,我正在调用的模块如下所示

0 投票
1 回答
3460 浏览

amazon-web-services - 批处理作业环境变量的键值对的 Terraform 变量列表

我已将批处理作业指定为:

其中 var.environment 来自输入变量

在我的 terraform 值文件中,我有

但它不喜欢这种格式。

如果我这样指定批处理作业:

它有效,所以问题是当我将它移动到变量文件时它不起作用。

格式应该是什么以及如何在批处理作业定义中使用它?

谢谢!

0 投票
1 回答
281 浏览

amazon-web-services - Terragrunt 使用来自其他环境的资源

我想在另一个环境中使用资源,在这种情况下是 vpc 模块的输出。目标是在同一个 vpc 中使用 stage 和 dev 资源为客户降低成本。Stage 和 dev 具有单独的 ecs-cluster、asg、lc、ecr 等中的不同 docker 映像,但应该位于具有相同负载均衡器的同一个 vpc 中,然后是一个主机标头侦听器以转发到特定的目标组。两者都应该使用相同的数据库和相同的负载平衡器。

要求是有 n 个客户,每个客户都有阶段、开发和生产环境。所有客户文件夹都应包含三个环境。

我的文件夹结构是

我已经阅读了有关数据 terraform_remote_state 的信息,但那是在模块层。对我来说,在模块层执行此操作不是一个好方法,因为它仅适用于舞台环境。有没有办法从开发环境的 stage 文件夹中的 terragrunt.hcl 中获取远程状态的输出,以将其用作 ec2 模块的输入?

我用过

接着

对于 ec2 模块的输入,但前提是它处于相同的环境中。

此致。

0 投票
1 回答
1632 浏览

terraform - 是否可以在 Terraform 中“改变”模块的源路径?

是否可以在 Terraform 或 Terragrunt 中为模块源使用变量。使用 Terragrunt 我知道我们可以将模块源覆盖到本地目录,但它似乎不允许我们使用不同的 repo。

用例是支持开发存储库和实时存储库。开发人员将使用不同的存储库来开发模块,而不是用于生产/实时部署。

我熟悉使用 Terragrunt 方法来分离环境。我们可以走这条路,例如 live 文件夹中的配置将指向一个 repo,而 dev/qa 文件夹中的配置指向另一个 repo。

代码片段:

错误:

下载模块时出错:加载模块时出错:下载“file:///home/vagrant/code/Terraform/Examples/Lab-US-West-1/${var.source_url}”时出错:源路径错误:stat /home/ vagrant/code/Terraform/Examples/Lab-US-West-1/${var.source_url}:没有这样的文件或目录

0 投票
1 回答
1109 浏览

terraform - Mongodb Atlas 的 Terraform 提供者:我的数据库在哪里?

我已经通过 Mongodb terraform 提供程序成功创建了一个项目、用户和集群,但是我希望看到一个已经在我的新集群下创建的数据库,但找不到。我不确定它缺少什么或不正确,并且我在文档中找不到任何与我自己实现的不同的示例/信息。以下是我的 main.tf 文件中的相关信息:

团体

非常感谢任何帮助/建议。

谢谢

0 投票
1 回答
362 浏览

terraform - terragrunt 不接受 vars 文件

我正在尝试使用 2-repo IaC,所谓的后端采用terragrunt模块的形式,而前端(或live)具有正在填充变量的此类模块的实例化。

下图描述了这 2 个 repos 的结构(顾名思义是terragrunt后端和实时的)。terraform-live

在此处输入图像描述

在 myterragrunt/aws-vpc/variables.tf中,有以下声明:

但是,当尝试terragrunt apply在实时目录中执行时,我得到以下信息:

这是我的terraform-live/environments/staging/terragrunt.hcl

更重要的是,该变量似乎是在terragrunt指示从以下位置读取变量的文件之一中声明的:

为什么terragrunt(或terraform?)无法读取特定变量?

0 投票
1 回答
119 浏览

python - terraform S3 后端使用类似变量的替代方法

S3后端不支持变量我需要其他方法来做到这一点任何人都可以建议我上网有些人说terragrunt有些人说像python,workspaces.environments。实际上,我们从他们将要使用的应用程序中为客户构建了一些开发环境输入ec2之类的详细信息,他们将输入count,ami,从这里输入一切都很好,但是由于后端状态文件问题不支持变量,我每次都需要更改存储桶名称,路径。有人可以解释一下结构并提前解决此问题的示例代码。#23208

0 投票
1 回答
787 浏览

terraform - 将环境变量列表传递给资源

我正在尝试从我的 terragrunt.hcl 输入中传递一个列表,其中包含容器的环境变量。但我无法让它工作。

terragrunt.hcl:

主文件:

变量.tf:

我收到错误:

Terraform:v0.12.13 Terragrunt:v0.21.5