@ -1,5 +1,17 @@
---
---
# This is a cleanup/migration task, because of to the new way we manage cronjobs (`cron` module) and the new script name.
# This migration task can be removed some time in the future.
- name : (Migration) Remove deprecated Let's Encrypt SSL certificate management files
file:
path : "{{ item }}"
state : absent
with_items:
- /usr/local/bin/matrix-ssl-certificates-renew
- /etc/cron.d/matrix-ssl-certificate-renewal
- /etc/cron.d/matrix-nginx-proxy-periodic-restarter
#
#
# Tasks related to setting up Let's Encrypt's management of certificates
# Tasks related to setting up Let's Encrypt's management of certificates
#
#
@ -32,18 +44,44 @@
loop_var : domain_name
loop_var : domain_name
when : "matrix_ssl_retrieval_method == 'lets-encrypt'"
when : "matrix_ssl_retrieval_method == 'lets-encrypt'"
- name : Ensure SSL renewal script installed
- name : Ensure Let's Encrypt SSL renewal script installed
template:
template:
src : "{{ role_path }}/templates/usr-local-bin/matrix-ssl- certificates-renew.j2"
src : "{{ role_path }}/templates/usr-local-bin/matrix-ssl- lets-encrypt- certificates-renew.j2"
dest : "/usr/local/bin/matrix-ssl-certificates-renew"
dest : /usr/local/bin/matrix-ssl-lets-encrypt-certificates-renew
mode : 0750
mode : 0750
when : "matrix_ssl_retrieval_method == 'lets-encrypt'"
when : "matrix_ssl_retrieval_method == 'lets-encrypt'"
- name : Ensure periodic SSL renewal cronjob configured
- block:
template:
- name : Ensure periodic SSL renewal cronjob configured (MAILTO)
src : "{{ role_path }}/templates/cron.d/matrix-ssl-certificate-renewal.j2"
cron:
dest : "/etc/cron.d/matrix-ssl-certificate-renewal"
user : root
mode : 0600
cron_file : matrix-ssl-lets-encrypt
env : yes
name : MAILTO
value : "{{ matrix_ssl_lets_encrypt_support_email }}"
- name : Ensure periodic SSL renewal cronjob configured (matrix-ssl-lets-encrypt-certificates-renew)
cron:
user : root
cron_file : matrix-ssl-lets-encrypt
name : matrix-ssl-lets-encrypt-certificates-renew
state : present
hour : 4
minute : 15
day : "*/5"
job : /usr/local/bin/matrix-ssl-lets-encrypt-certificates-renew
- name : Ensure periodic reloading of matrix-nginx-proxy is configured for SSL renewal (matrix-nginx-proxy-reload)
cron:
user : root
cron_file : matrix-ssl-lets-encrypt
name : matrix-nginx-proxy-reload
state : present
hour : 4
minute : 20
day : "*/5"
job : /usr/bin/systemctl reload matrix-nginx-proxy.service
when : matrix_nginx_proxy_enabled
when : "matrix_ssl_retrieval_method == 'lets-encrypt'"
when : "matrix_ssl_retrieval_method == 'lets-encrypt'"
@ -51,11 +89,26 @@
# Tasks related to getting rid of Let's Encrypt's management of certificates
# Tasks related to getting rid of Let's Encrypt's management of certificates
#
#
- name : Ensure Let's Encrypt SSL certificate management files removed
# When nginx-proxy is disabled, make sure its reloading cronjob is gone.
file:
# Other cronjobs can potentially remain there (see below).
path : "{{ item }}"
- name : Ensure matrix-nginx-proxy-reload cronjob removed
cron:
user : root
cron_file : matrix-ssl-lets-encrypt
name : matrix-nginx-proxy-reload
state : absent
when : "not matrix_nginx_proxy_enabled"
# When Let's Encrypt is not used at all, remove all cronjobs in that cron file.
- name : Ensure matrix-ssl-lets-encrypt-renew cronjob removed
cron:
user : root
cron_file : matrix-ssl-lets-encrypt
state : absent
state : absent
with_items:
- /usr/local/bin/matrix-ssl-certificates-renew
- /etc/cron.d/matrix-ssl-certificate-renewal
when : "matrix_ssl_retrieval_method != 'lets-encrypt'"
when : "matrix_ssl_retrieval_method != 'lets-encrypt'"
- name : Ensure Let's Encrypt SSL renewal script removed
file:
path : /usr/local/bin/matrix-ssl-lets-encrypt-certificates-renew
state : absent
when : "matrix_ssl_retrieval_method != 'lets-encrypt'"