diff options
Diffstat (limited to 'roles/acme/tasks/main.yml')
-rw-r--r-- | roles/acme/tasks/main.yml | 35 |
1 files changed, 19 insertions, 16 deletions
diff --git a/roles/acme/tasks/main.yml b/roles/acme/tasks/main.yml index 5834cb5..c068ab5 100644 --- a/roles/acme/tasks/main.yml +++ b/roles/acme/tasks/main.yml @@ -1,33 +1,36 @@ +--- + - name: generate acme-client configuration - template: + ansible.builtin.template: src: acme-client.conf.j2 dest: "{{ acme_configuration_file }}" owner: 0 group: 0 - mode: 0644 + mode: "0644" -- name: retrieve enabled domains # noqa: no-changed-when - shell: | +- name: retrieve enabled domains + ansible.builtin.shell: | set -o pipefail grep "^domain" /etc/acme-client.conf | cut -d " " -f 2 - register: subdomains + register: acme_result_subdomains + changed_when: false -- name: generate acme certificates # noqa: no-changed-when - command: acme-client -v {{ item }} - loop: "{{ subdomains.stdout_lines }}" - register: result - failed_when: - - result.rc != 0 - - "'certificate valid' not in result.stderr" +- name: generate acme certificates + ansible.builtin.command: acme-client -v {{ item }} + loop: "{{ acme_result_subdomains.stdout_lines }}" + register: acme_result_generation + failed_when: acme_result_generation.rc == 1 + changed_when: acme_result_generation.rc != 2 - name: display registered certificates - debug: - var: result + ansible.builtin.debug: + msg: "{{ acme_result_generation.results | map(attribute='stderr') + | join('\n') }}" - name: enable automatic acme certificates update - cron: + ansible.builtin.cron: name: "automatic acme certificates update for subdomain : {{ item }}" minute: 0 hour: 6,18 job: "acme-client -v {{ item }} && rcctl reload relayd" - loop: "{{ subdomains.stdout_lines }}" + loop: "{{ acme_result_subdomains.stdout_lines }}" |