community.sops.load_vars 模块 – 从文件中加载 SOPS 加密变量,在任务中动态加载
注意
此模块是 community.sops 集合(版本 2.0.0)的一部分。
如果您正在使用 ansible
包,则可能已经安装了此集合。它不包含在 ansible-core
中。要检查是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用: ansible-galaxy collection install community.sops
。您需要进一步的要求才能使用此模块,有关详细信息,请参阅 要求。
要在 playbook 中使用它,请指定: community.sops.load_vars
。
community.sops 0.1.0 中的新功能
概要
在任务运行时期间从文件中动态加载 SOPS 加密的 YAML/JSON 变量。
要将包含的变量分配给与
inventory_hostname
不同的主机,请使用delegate_to
并设置delegate_facts=true
。
注意
此模块具有相应的 操作插件。
要求
执行此模块的主机需要以下要求。
二进制可执行文件
sops
(https://github.com/getsops/sops)必须存在于PATH
中或配置为sops_binary
。
参数
参数 |
注释 |
---|---|
一个或多个可用于解密加密文件的 age 私钥。 在调用 SOPS 时将设置为 需要 SOPS 3.7.1+。 |
|
包含 SOPS 可用于解密加密文件的 age 私钥的文件。 在调用 SOPS 时将设置为 默认情况下,SOPS 会在您的用户配置目录中查找 需要 SOPS 3.7.0+。 |
|
用于向 AWS 发出请求的 AWS 访问密钥 ID。 为 SOPS 调用设置环境变量 |
|
用于向 AWS 发出请求的 AWS 配置文件。 这对应于 SOPS 的 |
|
用于向 AWS 发出请求的 AWS 秘密访问密钥。 为 SOPS 调用设置环境变量 |
|
用于向 AWS 发出请求的 AWS 会话令牌。 为 SOPS 调用设置环境变量 |
|
SOPS 配置文件的路径。 如果未设置,SOPS 将从加密或解密的文件开始递归搜索配置文件。 这对应于 SOPS 的 |
|
告诉 SOPS 使用本地密钥服务。 这对应于 SOPS 的 选项
|
|
此选项控制如何处理加载文件中值的 Jinja2 表达式。 如果设置为 如果设置为 遗憾的是,非核心模块无法以“不安全”的方式处理表达式,换句话说,仅在使用时才评估它们。这只能通过 ansible.builtin.include_vars 实现,但遗憾的是它无法处理 SOPS 加密的文件。 选项
|
|
应从中加载变量的文件名。 如果路径是相对路径,它将在角色的 |
|
指定要使用的本地密钥服务旁边的密钥服务。 必须以 这对应于 SOPS 的 |
|
用于赋值包含变量的变量名称。 如果省略( |
|
SOPS 二进制文件的路径。 默认使用 |
属性
属性 |
支持 |
描述 |
---|---|---|
支持: 完全 |
表示此项具有对应的操作插件,因此某些选项可以在控制器上执行。 |
|
支持: 无 此操作完全在控制器上运行。 |
支持与 |
|
支持: 完全 |
可以在 |
|
支持: 不适用 此操作不会修改状态。 |
在 diff 模式下,将返回有关已更改内容(或在 |
|
支持: 完全 |
操作返回一个 |
另请参阅
另请参阅
- ansible.builtin.set_fact
设置主机变量和事实。
- ansible.builtin.include_vars
从文件中动态加载任务中的变量。
- 控制任务的运行位置:委托和本地操作
有关任务委托的更多信息。
- community.sops.sops 查找插件
sops 查找可用于解密 SOPS 加密的文件。
- community.sops.decrypt 过滤器插件
解密过滤器可用于解密 SOPS 加密的内存数据。
- community.sops.sops 变量插件
sops 变量插件可用于加载 SOPS 加密的主机或组变量。
示例
- name: Include variables of stuff.sops.yaml into the 'stuff' variable
community.sops.load_vars:
file: stuff.sops.yaml
name: stuff
expressions: evaluate-on-load # interpret Jinja2 expressions in stuf.sops.yaml on load-time!
- name: Conditionally decide to load in variables into 'plans' when x is 0, otherwise do not
community.sops.load_vars:
file: contingency_plan.sops.yaml
name: plans
expressions: ignore # do not interpret possible Jinja2 expressions
when: x == 0
- name: Load variables into the global namespace
community.sops.load_vars:
file: contingency_plan.sops.yaml
返回值
通用返回值记录在这里,以下是此模块独有的字段
键 |
描述 |
---|---|
成功包含的文件列表 返回: 成功 示例: |