我使用以下脚本加密了一堆文件(证书)
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 之前被解密?
编辑:
我尝试使用复制模块,因为它具有加密意识,但该模块似乎挂起。注意到ansible github上目录的复制模块存在一些问题,我回来同步。
我也尝试了with_fileglob方法,但这会使目录结构变平。
编辑2:
我得到了加密,解密以使用复制模块,但速度非常慢。