Phi*_*ord 6 ansible ansible-vault
在使用 Ansible 时,我尝试使用保管的 vars 文件来存储私有变量,然后在另一个 vars 文件中以相同的角色使用这些变量。(这个想法来自“Vault Pseudo leaf crypto” 。)
例如我有一个标准的 vars 文件roles/myrole/vars/main.yml:
---
my_variable: '{{ my_variable_vaulted }}'
Run Code Online (Sandbox Code Playgroud)
然后是加密的roles/myrole/vars/vaulted_vars.yml:
---
my_variable_vaulted: 'SECRET!'
Run Code Online (Sandbox Code Playgroud)
但是当我运行剧本时,我总是收到“错误!错误!‘my_variable_vaulted’未定义”。
我在没有加密第二个文件的情况下尝试过,以确保这不是加密问题,但我遇到了相同的错误。
不可用的原因my_variable_vaulted是因为我没有包含变量文件。我假设角色vars/目录中的所有文件都是自动拾取的,但我认为只有vars/main.yml.
因此,为了使保管变量可用于角色内的所有任务,roles/myrole/tasks/main.yml我在所有任务之前添加了以下内容:
- include_vars: vars/vaulted_vars.yml
Run Code Online (Sandbox Code Playgroud)