我需要使用ansible保管库存储和加密密码的文件,解密后,我创建了一个名为'passs'的加密文件,并将其存储在group_vars中。
---
testvar: password
我已经创建了剧本文件:
---
- hosts: [machines]
vars:
include_vars:
file: group_vars/passes
roles:
- role: someroletodeployafilewiththispass
该角色只是通过以下模板来部署文件:
using vaulted var {{ testvar }}
每次我使用发射塔启动它时,都会收到错误消息
“ msg”:“ AnsibleUndefinedVariable:'testvar'未定义”
任何想法我在做什么错?没有迹象表明ansible可以解密我的加密文件。我刚刚粘贴的加密文件:
$ANSIBLE_VAULT;1.1;AES256
303965366239313330646366313238...
也许加密的文件看起来应该有所不同,以便Ansible对其进行解密?
答案 0 :(得分:0)
说明
在代码中,您创建了一个名为include_vars
的变量,一个具有键file
和字符串值group_vars/passes
的字典。
解决方案
在播放中定义vars_files的正确语法是vars_files
声明:
---
- hosts: [machines]
vars_files:
- group_vars/passes
roles:
- someroletodeployafilewiththispass
您可以使用include_vars
,但这是一个操作模块,应在tasks
下声明,或者在{{1 }}:
pre_tasks