Mercurial > hgrepos > FreeBSD > ports > sysutils > local-bsdtools
annotate etc/periodic/weekly/800.local-certbot-post-deploy @ 387:9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Intended to trigger host-level actions after certbot actions in jails.
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Thu, 23 Feb 2023 09:08:20 +0100 |
| parents | |
| children |
| rev | line source |
|---|---|
|
387
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
1 #!/bin/sh |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
2 # -*- indent-tabs-mode: nil; -*- |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
3 # |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
4 # @(#)@@SIMPLEVERSIONTAG@@ |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
5 # |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
6 # Weekly script to indirectly trigger post deploy actions |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
7 # |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
8 # Must be executed **after** 500.certbot. |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
9 # Otherwise an extra week of delay is encountered. |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
10 # |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
11 |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
12 # If there is a global system configuration file, suck it in. |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
13 if [ -r /etc/defaults/periodic.conf ] |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
14 then |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
15 . /etc/defaults/periodic.conf |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
16 source_periodic_confs |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
17 fi |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
18 |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
19 : ${weekly_local_certbot_post_deploy_enable:=NO} |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
20 : ${weekly_local_certbot_post_deploy_files:=} |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
21 # e.g. "service nginx onestatus" |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
22 : ${weekly_local_certbot_post_deploy_condition:=} |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
23 # e.g. "service nginx reload" |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
24 : ${weekly_local_certbot_post_deploy_action:=} |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
25 : ${weekly_local_certbot_post_deploy_files_remove:=YES} |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
26 |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
27 case "${weekly_local_certbot_post_deploy_enable}" in |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
28 [Yy][Ee][Ss]) |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
29 echo |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
30 echo "Testing for newly renewed Let's Encrypt certificates" |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
31 |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
32 rc=0 |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
33 |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
34 _do_action="" |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
35 _remove_files="" |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
36 |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
37 for _f in ${weekly_local_certbot_post_deploy_files}; do |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
38 if [ -r "${_f}" ]; then |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
39 _do_action="yes" |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
40 case "${weekly_local_certbot_post_deploy_files_remove}" in |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
41 [Yy][Ee][Ss]) |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
42 _remove_files="${_remove_files} ${_f}" |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
43 ;; |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
44 esac |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
45 fi |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
46 done |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
47 |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
48 if [ "${_do_action}" = "yes" ]; then |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
49 if [ -z "${weekly_local_certbot_post_deploy_action}" ]; then |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
50 echo "ERROR: no deploy action defined" 1>&2 |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
51 exit 2 |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
52 fi |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
53 |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
54 echo "Deploying newly renewed Let's Encrypt certificates" |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
55 if [ -n "${weekly_local_certbot_post_deploy_condition}" ]; then |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
56 if ${weekly_local_certbot_post_deploy_condition} ; then |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
57 ${weekly_local_certbot_post_deploy_action} |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
58 rc=$? |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
59 else |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
60 rc=1 |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
61 fi |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
62 else |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
63 ${weekly_local_certbot_post_deploy_action} |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
64 rc=$? |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
65 fi |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
66 |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
67 # Remove trigger files if configured to do so |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
68 if [ ${rc} -eq 0 ]; then |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
69 echo "Removing trigger files..." |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
70 for _rf in ${_remove_files}; do |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
71 rm -fv "${_rf}" |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
72 done |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
73 fi |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
74 else |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
75 echo "No newly renewed Let's Encrypt certificates found" |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
76 fi |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
77 ;; |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
78 |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
79 *) |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
80 rc=0 |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
81 ;; |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
82 esac |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
83 |
|
9921352225a9
Weekly periodic script to execute an action when any of given files are readable.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
84 exit ${rc} |
