gpt4 book ai didi

ansible - 在 ansible 角色中使用多个 var 文件

转载 作者:行者123 更新时间:2023-12-03 23:47:28 24 4
gpt4 key购买 nike

我的角色之一有两种不同的变量类型。一种是公开的(例如软件包版本和其他良性信息)。这些可以毫无顾虑地提交给 SCM。它还需要一些私有(private)信息(如 API key 和其他 secret 信息)。我正在使用 ansible-vault对 secret 信息进行加密。我的解决方案是拥有 vars/main.yaml用于公共(public)和 vars/vault.yml用于加密的私有(private)信息。

我遇到了一个问题,我不确定这里的最佳实践或实际解决方案是什么。似乎 ansible 只加载 vars/main.yml文件。我自然不想加密公共(public)信息,所以我寻找解决方案。到目前为止,我想出的唯一解决方案(在 IRC 上建议)是创建 group_vars/all/vault.yml并在所有变量前加上角色名称。这是可行的,因为 ansible 似乎递归地加载了 group_vars 下的所有内容。 .这确实有效,但在组织上似乎不正确,因为变量是针对特定角色的,而不是“全局普遍正确的”。我也试着把 include: vars/vault.yml进入 vars/main.yml但这没有用。

有没有合适的方法来做到这一点?

最佳答案

作为您角色的第一项任务,您可以拥有 include_vars task .

- include_vars: vault.yml

我从未尝试过,但 according to the docs Vault 加密文件可以与 include_vars 一起使用模块。

The vault feature can encrypt any structured data file used by Ansible. This can include “group_vars/” or “host_vars/” inventory variables, variables loaded by “include_vars” or “vars_files” [...]

关于ansible - 在 ansible 角色中使用多个 var 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36134552/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com