このQ&Aのフォローアップ。
これとこのドキュメントによるとvault_password_file = ~/.vault_pass.txt
、次のファイルのいずれかを指定することにより、デフォルトのボールトパスワードファイルを定義できるはずです。
* ANSIBLE_CONFIG (an environment variable) * ansible.cfg (in the current directory) * .ansible.cfg (in the home directory) * /etc/ansible/ansible.cfg
パスワードファイルが存在し、ログに、定義を含むansible.cfgが使用されていることが示されますが、復号化は失敗します。
user@host$
Using /etc/ansible/ansible.cfg as config file
ERROR! Decryption failed on /path/to/ansible/group_vars/production/vault
討論
このボールトのパスは正しいですか?
はい。--vault-password-file=~/.vault_pass.txt
復号化を使用してansibleが実行されると、成功します。
明確にするために、環境変数の名前は
ANSIBLE_VAULT_PASSWORD_FILE
ですよね?
いいえ。この変数を使用すると機能しますが、目的は、を設定してansible.cfgに設定すること/etc/ansible/ansible.cfg
です。
どのAnsibleバージョンが使用されていますか?
user@host:/dir$ ansible --version ansible 2.2.2.0 config file = /etc/ansible/ansible.cfg configured module search path = Default w/o overrides
設定でフルパスを使用できますか?
の代わりにフルパスを指定した~
場合、つまり/home/user/.vault_pass.txt
指定した場合も、復号化は失敗します。
echo $ANSIBLE_VAULT_PASSWORD_FILE
ですか?
vault_password_file = ~/.vault_pass.txt
ANSIBLE_VAULT_PASSWORD_FILE
ですよね?