С помощью ansible-playbook можно --user=REMOTE_USER
определить пользователя ssh, но также можно ansible_ssh_user: REMOTE_USER
указать либо в host-, либо в group_vars.
Вопрос
Какую переменную нужно определить в каталоге group- или host_vars, чтобы предотвратить --vault-password-file
ее определение во время работы ansible-playbook
?
попытки
Когда
ansible_vault_password_file: ~/.vault_pass.txt
определено в конфигурации, дешифрование завершается неудачно:ERROR! Decryption failed on /path/to/vault
Никаких связанных переменных хранилища в этой документации не найдено
Ответы:
Вот определение:
Это означает, что вы либо положили в ansible.cfg или playbook:
Или в вашей оболочке определяется эта переменная:
источник
group_vars/all/vars
.export ANSIBLE_VAULT_PASSWORD_FILE=~/.vault_pass.txt
должен был быть запущен.Вы можете установить переменную среды,
ANSIBLE_VAULT_PASSWORD_FILE
хранящую путь к файлу пароля хранилища. Таким образом, вы не будете всегда использовать--vault-password-file
переключатель при запуске playbook.Это описано в документации по хранилищу Ansible, доступной здесь .
Итак, добавьте
export ANSIBLE_VAULT_PASSWORD_FILE=~/.vault_pass.txt
к своему~/.bash_profile
источнику, и вы готовы к работе.Если вам нужны разные пароли хранилища для разных групп хостов, то вы должны сделать следующее:
Это пример передового подхода к управлению конфиденциальной информацией для каждой группы. Более подробная информация доступна в документации Ansible здесь (приведенный выше текст скопирован оттуда).
источник