Я зашифровал кучу файлов (сертификатов), используя следующий скрипт
for i in $(find . -type f); do ansible-vault encrypt $i --vault-password-file ~/.vault && echo $i encrypted ; done
Во время rsyncing я запускаю что-то вроде этого
- name: Copy letsencrypt files
synchronize:
src: "{{ path }}/letsencrypt/"
dest: /etc/letsencrypt/
rsync_path: "sudo rsync"
rsync_opts:
- "--delete"
- "--checksum"
- "-a"
notify:
- Reload Nginx
Проблема, с которой я столкнулся, заключается в том, что перемещенные файлы все еще оставались зашифрованными. Я думал, что ansible был достаточно умен, чтобы определить, зашифрован ли он, и расшифровать, как, например, здесь.
- name: Copy deploy private key
copy:
content: "{{ private_key_content }}"
dest: "/home/deploy/.ssh/id_rsa"
owner: deploy
group: deploy
mode: 0600
no_log: true
Возвращаясь к предыдущему вопросу, как мне убедиться, что файлы в папке / файлах расшифрованы перед rsyncing ?
Edit:
Я попытался использовать модуль копирования , поскольку он поддерживает шифрование, но модуль, кажется, зависает. Заметил некоторые проблемы с модулем копирования для каталогов на ansible github , и я вернулся к синхронизации.
Я также попробовал подход with_fileglob , но это выравнивает структуру каталогов.
Редактировать 2:
Я получил шифрование, расшифровку для работы с модулем копирования, но это ужасно медленно.