问题标签 [hashicorp]

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 投票
2 回答
36 浏览

python-3.x - 无法列出 Hashicorp 保管库中的 LDAP 组以及附加到它的策略

我想列出 Hashicorp 保险库中的 LDAP 组,以及在 python 代码中与这些 LDAP 组附加的策略。我能够列出所有 LDAP 组,但无法获取列出策略的命令。

0 投票
1 回答
36 浏览

azure - 如何通过 terraform for Azure Provider 创建“count.index”以扩展 HDD

你想完成什么?

增加减少与其必需的“资源 OS_disk”直接相关的“资源 VM”的数量。例如,如果我们需要配置“5、10 或 20”个VM,我们还需要匹配相同的“5、10 或 20”个操作系统磁盘

目前,我知道如何为资源 VM使用count.index(参见下面的代码片段),但我不知道如何为资源 OS_Disk实现它,这意味着如果我们需要提供“200 个 VM”,我可以定义通过从资源 VM 代码块中的参数计数设置这些“200 个 VM” (参见下面的代码片段),但我不能为“200” OS_disk(免责声明,再次因为我不知道如何)

你有代码示例要分享吗?

上述代码未能通过count.index构建 10 个OS 磁盘

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

0 投票
1 回答
163 浏览

terraform - Terraform 云配置动态工作区名称

我正在使用 GitHub Actions 和 Terraform 构建 CI/CD 管道。我有一个如下所示的 main.tf 文件,我从多个环境的 GitHub 操作中调用该文件。我正在使用https://github.com/hashicorp/setup-terraform在 GitHub 操作中与 Terraform 进行交互。我有 MyService 组件,我正在部署到 DEV、UAT 和 PROD 环境。我想为所有环境重用 main.tf 并动态设置工作区名称,如下所示:MyService-DEV、MyService-UAT、MyService-PROD。terraform/cloud 块中不允许使用变量。我正在使用 HashiCorp 云来存储状态。

更新

我终于设法通过有用的评论来启动并运行它。以下是我的发现:

  • TF_WORKSPACE 需要预先定义,例如:service-dev
  • 在自动化运行时,我没有让标签按照我想要的方式工作。如果我将 cloud.workspaces.tags 中的标签定义为“服务”,则无法动态设置像“开发”这样的第二个标签。在 init ['service', 'dev'] 期间需要这两个标签,以便 TF 自动选择工作区 service-dev。
  • 我最终使用 tfe 提供程序来自动设置工作区(带标签)。最后我仍然需要设置 TF_WORKSPACE=service-dev
0 投票
0 回答
54 浏览

aws-lambda - 部署期间的 AWS Lambda ResourceConflictException

我们在部署 Lambda 函数期间开始出现 ResourceConflictException。我们通过 Terraform 创建 Lambda,我们之前的版本是:AWS -> "v2.70.1", Terraform -> 0.11.7

AWS 建议使用 AWS 版本“v2.70.1”来解决该问题。此版本适用于 Terraform 版本 0.11.15

我做了升级。但是,版本升级后我仍然遇到同样的错误。我们有 Lambda 的 VPC 设置。当我们删除它时,我们可以进行部署,但是使用这些设置我们会得到 ResourceConflictException。你知道如何解决它吗?谢谢。

0 投票
2 回答
65 浏览

hashicorp-vault - HashiCorp Vault 中的“一切都是基于路径的”是什么意思?

在 Vault 文档中,特别是政策页面,有这样一句话:

Vault 中的所有内容都是基于路径的,策略也不例外

我想知道这句话,这是否意味着在 Vault 的体系结构及其内部结构中,一切都是路径,类似于 Linux 体系结构中的“一切都是文件”,适用于进程、文件、目录、套接字、管道, ETC?

让我与这句话相关的是秘密引擎是由路径定义的,我假设 Vault 推断它们的类型以及从给定路径中使用的类型。策略也是相关的,因为您必须为每个策略定义确切的路径,但是其他组件,如身份验证方法、审计、令牌等呢?

我只想了解“Vault 中的一切都是基于路径”短语中“基于路径”的含义。

0 投票
0 回答
32 浏览

packer - 在一个打包程序构建命令中创建多个图像

我正在使用命令packer build -only=*image1*,*image2*

我有几个带有以下代码的“build.pkr.hcl”文件:

问题是只构建了两个图像(image2-2016 和 image2-2019)而不是四个。

我想念什么?

0 投票
0 回答
33 浏览

azure - 使用 Docker 容器创建/部署 Azure 服务

假设我将基础结构作为代码文件夹,在其中我还使用 Azure 作为基础结构,并且 terraform 状态也存储在 azure 上的资源组的存储帐户中,其中包含我的每个环境的子目录和每个环境的 tfvar 文件。

我计划通过以下步骤使用 Docker 容器部署/创建 Azure 服务:

  1. 创建一个 docker 文件,我将在其中使用 terraform 作为基础映像,并将 terraform IaC 文件夹添加到映像的文件系统中。
  2. 当我们在 docker 桌面上运行镜像时,它会创建一个 docker 容器。
  3. 此外,当执行 Docker 容器时,将开始创建 azure 服务。因此,当个人使用时,他们只会执行,结果会在不了解执行代码的情况下自动创建他们的服务。
  • A) 上述步骤是执行问题陈述的正确方法吗?
  • B)如何创建以及应该在 Docker 映像中存储什么?
  • C) 如何创建以及应该在 Docker 容器中存储什么?
  • D) 从 Docker 桌面执行 Docker 容器时,服务将如何创建和部署?
  • E)建议我如何实施上述问题陈述,如果没有,为什么?
0 投票
1 回答
134 浏览

terraform - 无法更新 terraform 版本

我的 provider.tf 文件中已经有了最新版本:

但是,当我检查terraform version我的终端时,我得到了这个:

我已经尝试过terraform init -upgrade了,但这也没有什么不同。我还从网站手动下载了 terraform 的新版本,但我的终端仍然显示 1.0.7。

由于旧的 Terraform 版本,我面临其他错误。如何使用终端更新到最新版本?

0 投票
1 回答
290 浏览

terraform - Terraform:错误:缺少提供者的资源架构。找不到 local_file 的资源架构

我正在使用 terraform 版本 0.13.2,提供者http://registry.terraform.io/hashicorp/local v2.1.0 并拥有以下资源:

现在,当我只在另一个目录中获取 terraform.tfstate 文件并尝试在新目录中使用 terraform 1.1.2 销毁此配置时,我在 terraform destroy 上收到以下错误:

解决方法是什么?

0 投票
1 回答
663 浏览

terraform - 当我从计划 -out=file 应用 terraform 时依赖不一致

我正在尝试使用远程后端在 GCP 上创建新资源在执行 terraform init plan -out=tfplan 然后 terraform apply tfplan 我收到以下错误:

另一方面,当我执行 terraform init plan 并应用 -auto-approve 时,它​​的工作没有问题