Skip to content

Instantly share code, notes, and snippets.

@b0bu
Created May 20, 2021 19:20
Show Gist options
  • Save b0bu/5891a9ada329bbd905cf76a2000d6257 to your computer and use it in GitHub Desktop.
Save b0bu/5891a9ada329bbd905cf76a2000d6257 to your computer and use it in GitHub Desktop.
Remove the difference between 2 lists in ansible

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)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment