- name: Make key list set_fact: acme_txt_keys: [] - name: Build key list set_fact: acme_txt_keys: '{{ acme_txt_keys }} + {{ hostvars[item]["acme_txt_required"] | default([]) }}' with_inventory_hostnames: - letsencrypt:!disabled - name: Final list debug: var: acme_txt_keys # NOTE(ianw): Most of the time, we won't have anything to actually do # as we don't have new keys or renewals due. - name: Deploy TXT records block: - name: Deploy new zone.db template: src: zone.db.j2 dest: /var/lib/bind/zones/acme.opendev.org/zone.db - name: debug new file slurp: src: '/var/lib/bind/zones/acme.opendev.org/zone.db' register: bind_zone_result - debug: msg: "{{ bind_zone_result['content'] | b64decode }}" - name: Ensure domain is valid shell: named-checkzone acme.opendev.org /var/lib/bind/zones/acme.opendev.org/zone.db - name: Reload domain shell: rndc reload acme.opendev.org when: acme_txt_keys | length > 0