找不到有关此的任何内容。我需要将拱形变量文件作为额外的变量传递,即:
ansible-pull -U <URL> -f -C master -d <ROLE_PATH> -i hosts --clean --vault-id <VAULT-ID/PW-FILE> -e @<VAULTED-VAR-FILE>
似乎无法找到已存储文件。
ansible 2.9.10
config file = /etc/ansible/ansible.cfg
configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python2.7/site-packages/ansible
executable location = /bin/ansible
python version = 2.7.5 (default, Apr 2 2020, 13:16:51) [GCC 4.8.5 20150623 (Red Hat 4.8.5-39)]
Using /etc/ansible/ansible.cfg as config file
Parsed localhost, inventory source with host_list plugin
ERROR! Attempting to decrypt but no vault secrets found
注意:如果我解密文件,它将运行。
有人遇到相同的问题或知道解决方案吗?
感谢和问候
答案 0 :(得分:0)
Q:“错误!尝试解密,但未找到文件库机密”
A:错误很明显。为vault secret提供ansible-pull。
但是,这将需要在纯文本中运行ansible-pull的远程主机上使保管库秘密可用。从安全的角度来看,这是一个很弱的解决方案。仅在安全的环境中使用它。否则,建议您使用推送模型来管理机密。
替代解决方案
如果您确实需要通过ansible-pull管理远程主机上的机密,则可能需要将机密存储在passwordstore中,并使用Ansible查找插件passwordstore来检索机密。
答案 1 :(得分:0)
感谢您的回复。
当然,秘密文件和存储的var文件在远程主机上。我使用--vault-id还是--vault-password-file都没关系。
当我解密文件或从cli调用中删除文件时,它正在运行。 看起来,就像只是不想使用给定的vault-pw-file / vault-id解密已存储的文件一样。
还没有对passwordstore做任何事情,但是远程主机应该尽可能简单。当然,我必须安装ansible和git才能使用ansible-pull,但是使用passwordstore时,我还必须安装pass或解决另一个问题需要另一个RPM。这样就积累了。