Acompanhamento das perguntas e respostas .
De acordo com esta e esta documentação, deve ser possível definir um arquivo de senha de cofre padrão especificando vault_password_file = ~/.vault_pass.txt
um dos seguintes arquivos:
* ANSIBLE_CONFIG (an environment variable) * ansible.cfg (in the current directory) * .ansible.cfg (in the home directory) * /etc/ansible/ansible.cfg
Embora o arquivo de senha exista e o log indique que o ansible.cfg é usado que contém a definição, a descriptografia falha:
user@host$
Using /etc/ansible/ansible.cfg as config file
ERROR! Decryption failed on /path/to/ansible/group_vars/production/vault
Discussão
O passe está correto para este cofre?
Sim. Quando ansible é executado, --vault-password-file=~/.vault_pass.txt
a descriptografia é bem-sucedida.
Apenas para que fiquemos claros - o nome da variável de ambiente é
ANSIBLE_VAULT_PASSWORD_FILE
correto?
Não. Quando essa variável é usada, ela funciona, mas o objetivo é configurá-la no ansible.cfg configurando /etc/ansible/ansible.cfg
.
Qual versão Ansible é usada?
user@host:/dir$ ansible --version ansible 2.2.2.0 config file = /etc/ansible/ansible.cfg configured module search path = Default w/o overrides
O uso de um caminho completo na configuração funciona?
A descriptografia falha também quando o caminho completo, em vez de ~
, ou seja, /home/user/.vault_pass.txt
foi especificado.
fonte
ANSIBLE_VAULT_PASSWORD_FILE
correto?echo $ANSIBLE_VAULT_PASSWORD_FILE
?vault_password_file = ~/.vault_pass.txt
Respostas:
Não está claro o motivo da falha, mas configuração
vault_password_file = ~/.vault_pass.txt
no/etc/ansible/ansible.cfg
foi suficiente.fonte
Encontrei um problema com o Ansible / Python, causando uma falha na descriptografia.
Especificamente, o Ansible 2.7.10 e 2.7.13 no Python 3.6.8 no Ubuntu 18.04 não descriptografaria (usando
ansible-vault edit -vvvvv
) um arquivo de cofre idêntico ao arquivo que descriptografou OK no macOS 10.13 usando o Python 3.7.2 com as mesmas versões do Ansible.A atualização para o Python 3.7.3 no Ubuntu (usando o
apt-get install python3.7
18.04) corrigiu isso.Seu problema pode ser diferente, mas se estiver no Python 3.6 ou inferior, tentarei atualizar para o 3.7.
fonte
De acordo com os documentos ,
Garante que você está usando exatamente o mesmo caso.
fonte