Преглед изворни кода

Idempotent and independent post-certificate-renewal tasks.

Carl Meyer пре 8 година
родитељ
комит
e8796ecd28

+ 5
- 2
roles/common/files/etc_cron-monthly_letsencrypt-renew Прегледај датотеку

@@ -18,5 +18,8 @@ for c in $(find /etc/letsencrypt/live/ -mindepth 1  -type d); do
18 18
 done
19 19
 service apache2 start
20 20
 
21
-# Services that rely on LE certificates will need restarted.
22
-
21
+# Services that rely on LE certificates may need restarted and/or other actions.
22
+for script in $(find /etc/letsencrypt/postrenew/ -maxdepth 1 -type f); do
23
+  echo "Executing ${script}."
24
+  $script
25
+done

+ 3
- 0
roles/common/tasks/letsencrypt.yml Прегледај датотеку

@@ -17,6 +17,9 @@
17 17
 - name: Install LetsEncrypt package dependencies
18 18
   command: /root/letsencrypt/letsencrypt-auto --help
19 19
 
20
+- name: Create directory for post-renewal scripts
21
+  file: state=directory path=/etc/letsencrypt/postrenew group=root owner=root
22
+
20 23
 - name: Install crontab entry for LetsEncrypt
21 24
   copy:
22 25
     src=etc_cron-monthly_letsencrypt-renew

+ 7
- 4
roles/ircbouncer/tasks/znc.yml Прегледај датотеку

@@ -24,10 +24,13 @@
24 24
     creates=/usr/lib/znc/znc.pem
25 25
   notify: restart znc
26 26
 
27
-- name: Update certificate renwal cron job
28
-  lineinfile: dest=/etc/cron.monthly/letsencrypt-renew state=present
29
-    line="cat /etc/letsencrypt/live/{{ domain }}/{privkey,fullchain}.pem > /usr/lib/znc/znc.pem; chown znc.znc /usr/lib/znc/znc.pem; chmod 640 /usr/lib/znc/znc.pem; service znc restart"
30
-    insertafter="EOF"
27
+- name: Update post-certificate-renewal task
28
+  template:
29
+    src: etc_letsencrypt_postrenew_znc.sh.j2
30
+    dest: /etc/letsencrypt/postrenew/znc.sh
31
+    owner: root
32
+    group: root
33
+    mode: 0755
31 34
 
32 35
 - name: Ensure znc user and group can read cert
33 36
   file: path=/usr/lib/znc/znc.pem group=znc owner=znc mode=640

+ 7
- 0
roles/ircbouncer/templates/etc_letsencrypt_postrenew_znc.sh.j2 Прегледај датотеку

@@ -0,0 +1,7 @@
1
+#!/bin/bash
2
+# Executed by /etc/cron.monthly/letsencrypt-renew
3
+
4
+cat /etc/letsencrypt/live/{{ domain }}/{privkey,fullchain}.pem > /usr/lib/znc/znc.pem
5
+chown znc.znc /usr/lib/znc/znc.pem
6
+chmod 640 /usr/lib/znc/znc.pem
7
+service znc restart

+ 7
- 4
roles/mailserver/tasks/dovecot.yml Прегледај датотеку

@@ -65,7 +65,10 @@
65 65
     - pop3s
66 66
   tags: ufw
67 67
 
68
-- name: Update certificate renwal cron job
69
-  lineinfile: dest=/etc/cron.monthly/letsencrypt-renew state=present
70
-    line="service dovecot restart"
71
-    insertafter="EOF"
68
+- name: Update post-certificate-renewal task
69
+  copy:
70
+    content: "#!/bin/bash\n\nservice dovecot restart\n"
71
+    dest: /etc/letsencrypt/postrenew/dovecot.sh
72
+    mode: 0755
73
+    owner: root
74
+    group: root

Loading…
Откажи
Сачувај