问题标签 [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 投票
1 回答
2203 浏览

bash - 无法在通过 Atlantis(Terraform Pull Request Automation)工具运行的 terraform local-exec 配置程序中设置环境变量

我已经通过 Atlantis 使用 Terragrunt 成功部署了 AKS,现在我想设置凭据以与 Kubernetes API 服务器进行通信。

为此,我设置了KUBECONFIG环境变量以通过 Kubernetes 进行身份验证。

下面是将在 Atlantis Container 中运行的代码,这样我们就可以在仅通过 Terraform 代码设置凭据后一键部署 pod 或 helm。

设置环境变量后,我添加了 env 命令来检查是否实际设置了环境变量。

0 投票
1 回答
517 浏览

json - 如何将字符串列表或字符串列表传递给 terragrunt / terraform 中的数据模板

当我尝试将值列表传递给 terraform 中的数据模板时,我遇到了这个问题。

我尝试了不同的方法,例如

source_vpc_endpoints作为一个列表并纳入["vpce-xxx", "vpce-yyy"]

source_vpc_endpoints = "${jsonencode(var.source_vpc_endpoints)}"在数据.tf

source_vpc_endpoints作为一个字符串并接收"\"vpce-xxx\", \"vpce-yyy\""

source_vpc_endpoints = var.source_vpc_endpoints"在数据.tf

terragrunt.hcl

数据.tf

资源政策:

他们每个人都给我这个错误:

控制台:错误:“策略”包含无效的 JSON:对象键后的无效字符“v”:值对

有没有办法来解决这个问题 ?

我正在使用 terraform (0.12.29) 和 terragrunt (v0.23.2) aws provider ("~>v3.21.0")

0 投票
0 回答
646 浏览

terraform - 如何将 -detailed-exitcode 与 terragrunt 计划一起使用?

当我尝试使用 terragrunt plan -detailed-exitcode 时出现错误并且我的脚本没有继续。

似乎只有当计划检测到有变化时才会出现错误。如果没有变化(退出状态 0),脚本不会停止/退出。到目前为止的解决方法是运行 terragrunt plan > out.txt (不带 -detailed-exitcode ),然后解析 out.txt 以查看是否存在任何更改并采取相应的措施。

0 投票
1 回答
666 浏览

terragrunt - 调用 sops_decrypt_file() 时来自 Terragrunt 的错误

我已经用生成器配置了 SOPS:

.sops.yaml

生成文件 sops secrets.dev.yaml

它生成加密文件为:

在 terragrunt 中使用:

terragrunt.hcl

错误:

0 投票
0 回答
1300 浏览

amazon-web-services - 如何使用 terragrunt 导入模块?

因此,当通过 terragrunt 使用第三方模块时,我很难尝试导入模块。

我的 terragrunt.hcl 文件如下

我试图通过使用导入

但我不断收到此错误

所以我想知道正确的模块名称是什么,或者这是否可能与 Terragrunt 有关。任何帮助将不胜感激!提前致谢。

0 投票
1 回答
256 浏览

terragrunt - 无法在 terragrunt 中使用变量计数

首先,我使用 terraform 使用此链接https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/dlm_lifecycle_policy创建了一个生命周期策略。后来我使用 terragrunt 创建生命周期策略,但使用变量 count 时出错。我将变量声明为数字数据类型。运行 terragrunt plan-all ''' 时出现此错误错误:变量名无效

在 variables.tf 第 36 行,在变量“count”中:36:变量“count”{

由于其在模块块中的特殊含义,变量名“count”被保留。'''

[terragrunt] 2021/01/26 20:51:01 遇到如下错误: Hit multiple errors: exit status 1

我该如何解决这个问题。提前致谢

0 投票
2 回答
2406 浏览

terragrunt - 在 Terragrunt 中导入现有资源

我正在寻找一种方法来管理我的 Terragrunt 工作流程中的现有资源,而无需重新创建它们。Basic Terraform 能够在此处导入远程状态,但我看不到在 Terragrunt 中执行此操作的方法。我知道可以使用数据源,但我很确定这意味着它会检查每次运行的远程状态,而不是将其引入进行管理。

最后,我希望能够导入现有的网络主机项目及其网络和子网,然后使用它来创建服务项目。

0 投票
2 回答
161 浏览

amazon-web-services - vpc 和 vpc 对等模块之间的 Terraform 状态冲突

我正在为我的公司 aws 基础设施使用 terraform 和 terragrunt,一般结构是这样的,我有两个主文件夹,一个用于模块,另一个用于环境和使用 terragrunt 将模块采购到环境文件夹,一个模块用于通用 vpc 基础设施,我有单独的 vpc 对等模块,我在环境文件夹中为 vpc 和 vpc 对等创建了单独的文件夹,所以它们在 s3 上都有不同的 terraform 状态,问题是 vpc 对等也在创建路由表,当我想要要在 vpc 模块上应用一些更改,它会删除从 vpc 对等模块创建的记录,有没有办法将路由表注入 vpc 模块?我知道我可以将 vpc-peering 模块移动到 vpc 中并同时拥有一个模块,但是重写所有的东西需要相当长的时间,我很想知道任何其他方式。

0 投票
1 回答
270 浏览

bash - 如何使用 terragrunt before_hook 设置变量

我需要使用一些 gcloud 命令才能在 GCP 上创建 Redis 实例,因为 terraform 不支持我需要的某些选项。

我正在尝试这个:

脚本是这样的:

我得到的错误是:

0 投票
1 回答
46 浏览

terragrunt - 如何干燥具有不同 ACL 和全局标签的 S3 存储桶?

以下文件结构:

在 prod 和 stage 中,env.hcl 是相同的,不是 DRY:

但是,如果我在我的根文件夹(account.hcl 所在的位置)中使用一些 globaltags.hcl,我如何能够将标签与环境名称结合起来?

在 terragrunt.hcl 中有来自示例的变量收集器,例如:

以及不同存储桶名称的输入,例如:

在这里我不知道如何为每个存储桶使用不同的 acl 设置?