使用本地操作解密保險庫加密的模板

你可以使用 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

請注意 changed_when: False。如果你使用 ansible 角色執行冪等性測試,這一點很重要 - 否則每次執行 playbook 時都會發出更改訊號。在 group_vars/all.yml 中,你可以設定全域性解密命令以供重用,例如,作為 view_encrypted_file_cmd

group_vars / all.yml

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

現在,在執行遊戲時,你需要將 ANSIBLE_VAULT_PASSWORD_FILE 環境變數設定為指向你的保管庫密碼檔案(理想情況下使用絕對路徑)。