Remove the difference between 2 lists.
- name: Get a file list of deployed post-hooks
command: ls /etc/letsencrypt/renewal-hooks/post/
register: st
- name: Strip file extensions from file list
set_fact:
deployed_post_hooks: "{{ st.stdout_lines|map('regex_replace', '(.sh)', '')|list }}"
- name: Install letsencrypt pull wrapper
template:
src: wrappers/letsencrypt_dns-01_pull.sh
dest: /data/scripts/letsencrypt_dns-01_pull.sh
mode: 0700
- name: Install letsencrypt renew wrapper
template:
src: wrappers/letsencrypt_dns-01_renew.sh
dest: /data/scripts/letsencrypt_dns-01_renew.sh
mode: 0700
- name: Removed post-hooks files that are deployed but not part of the domains_for_renewal_via_provider list
file:
path: "/etc/letsencrypt/renewal-hooks/post/{{ item }}.sh"
state: absent
loop: "{{ deployed_post_hooks }}"
when: item not in domains_for_renewal_via_provider | flatten(1)