Sur ma question précédente j'ai découvert que je pouvais mettre des options dans un fichier local ansible.cfg
fichier. Mais puis-je les remplacer ?
J'ai un ansible.cfg
qui contient
[defaults]
vault_password_file = /home/hymie/ansible/foo
Et je peux utiliser ce fichier automatiquement :
$ echo "hi there" | ansible-vault encrypt_string
Reading plaintext input from stdin. (ctrl-d to end input)
!vault |
$ANSIBLE_VAULT;1.1;AES256
64386133613865366565336365333166623538613239636464303931646330323061376239363639
3136376163613132613130306630626365643133366664310a353030303434346336396233616363
62323464313737663135303636646264373737393930326132386231363561653865646436313439
3231353132643364340a316431626332626633646135613064353133633038356434323537326633
3035
Encryption successful
Mais maintenant, je suis incapable d'utiliser/sélectionner un mot de passe différent :
$ echo "hi there" | ansible-vault encrypt_string --ask-vault-pass
New Vault password:
Confirm New Vault password:
ERROR! Only one --vault-id can be used for encryption. This includes passwords from configuration and cli.
$ echo "hi there" | ansible-vault encrypt_string --vault-password-file=/tmp/foo
ERROR! Only one --vault-id can be used for encryption. This includes passwords from configuration and cli.
$ echo "hi there" | ansible-vault encrypt_string --vault-id=@prompt
New vault password (default):
Confirm vew vault password (default):
ERROR! Only one --vault-id can be used for encryption. This includes passwords from configuration and cli.
Cela semble être le mauvais comportement.
Pourquoi mon option de ligne de commande (soit pour demander un mot de passe, soit pour sélectionner un fichier de mots de passe différent) ne prévaut-elle pas sur l'option de fichier de configuration pour utiliser un fichier de mots de passe prédéfini spécifique ? Est-ce que je fais quelque chose de mal ? Ou est-ce qu'ansible est juste comme ça, sans remplacer les variables du fichier de configuration ?