ansible Utilisation de local_action pour déchiffrer les modèles chiffrés dans un coffre


Exemple

Vous pouvez exécuter un jeu qui repose sur des modèles chiffrés à l'aide d'un local_action en utilisant le module local_action .

---

- name: Decrypt template
  local_action: "shell {{ view_encrypted_file_cmd }} {{ role_path }}/templates/template.enc > {{ role_path }}/templates/template"
  changed_when: False

- name: Deploy template
  template:
    src=templates/template
    dest=/home/user/file

- name: Remove decrypted template
  local_action: "file path={{ role_path }}/templates/template state=absent"
  changed_when: False

S'il vous plaît noter le changed_when: False . Ceci est important dans le cas où vous exécutez des tests d'idempotence avec vos rôles de réponse - sinon, chaque fois que vous exécutez le livre de jeu, un changement est signalé. Dans group_vars/all.yml vous pouvez définir une commande globale decrypt pour la réutiliser, par exemple, view_encrypted_file_cmd .

group_vars / all.yml

---

view_encrypted_file_cmd: "ansible-vault --vault-password-file {{ lookup('env', 'ANSIBLE_VAULT_PASSWORD_FILE') }} view"

Maintenant, lorsque vous exécutez une lecture, vous devez définir la variable d'environnement ANSIBLE_VAULT_PASSWORD_FILE pour qu'elle pointe vers votre fichier de mot de passe de coffre-fort (idéalement avec un chemin absolu).