mirror of
https://github.com/chatmail/relay.git
synced 2026-05-18 20:08:21 +00:00
Replace acmetool cronjob with a timer
This commit is contained in:
@@ -10,12 +10,10 @@ def deploy_acmetool(email="", domains=[]):
|
|||||||
packages=["acmetool"],
|
packages=["acmetool"],
|
||||||
)
|
)
|
||||||
|
|
||||||
files.put(
|
files.file(
|
||||||
src=importlib.resources.files(__package__).joinpath("acmetool.cron").open("rb"),
|
name="Remove old acmetool cronjob, it is replaced with systemd timer.",
|
||||||
dest="/etc/cron.d/acmetool",
|
path="/etc/cron.d/acmetool",
|
||||||
user="root",
|
present=False,
|
||||||
group="root",
|
|
||||||
mode="644",
|
|
||||||
)
|
)
|
||||||
|
|
||||||
files.put(
|
files.put(
|
||||||
@@ -67,6 +65,40 @@ def deploy_acmetool(email="", domains=[]):
|
|||||||
restarted=service_file.changed,
|
restarted=service_file.changed,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
reconcile_service_file = files.put(
|
||||||
|
src=importlib.resources.files(__package__).joinpath(
|
||||||
|
"acmetool-reconcile.service"
|
||||||
|
),
|
||||||
|
dest="/etc/systemd/system/acmetool-reconcile.service",
|
||||||
|
user="root",
|
||||||
|
group="root",
|
||||||
|
mode="644",
|
||||||
|
)
|
||||||
|
|
||||||
|
systemd.service(
|
||||||
|
name="Setup acmetool-reconcile service",
|
||||||
|
service="acmetool-reconcile.service",
|
||||||
|
running=False,
|
||||||
|
enabled=False,
|
||||||
|
daemon_reload=reconcile_service_file.changed,
|
||||||
|
)
|
||||||
|
|
||||||
|
reconcile_timer_file = files.put(
|
||||||
|
src=importlib.resources.files(__package__).joinpath("acmetool-reconcile.timer"),
|
||||||
|
dest="/etc/systemd/system/acmetool-reconcile.timer",
|
||||||
|
user="root",
|
||||||
|
group="root",
|
||||||
|
mode="644",
|
||||||
|
)
|
||||||
|
|
||||||
|
systemd.service(
|
||||||
|
name="Setup acmetool-reconcile timer",
|
||||||
|
service="acmetool-reconcile.timer",
|
||||||
|
running=True,
|
||||||
|
enabled=True,
|
||||||
|
daemon_reload=reconcile_timer_file.changed,
|
||||||
|
)
|
||||||
|
|
||||||
server.shell(
|
server.shell(
|
||||||
name=f"Request certificate for: {', '.join(domains)}",
|
name=f"Request certificate for: {', '.join(domains)}",
|
||||||
commands=[f"acmetool want --xlog.severity=debug {' '.join(domains)}"],
|
commands=[f"acmetool want --xlog.severity=debug {' '.join(domains)}"],
|
||||||
|
|||||||
@@ -0,0 +1,8 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Renew TLS certificates with acmetool
|
||||||
|
After=network.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=oneshot
|
||||||
|
ExecStart=/usr/bin/acmetool --batch reconcile
|
||||||
|
|
||||||
8
cmdeploy/src/cmdeploy/acmetool/acmetool-reconcile.timer
Normal file
8
cmdeploy/src/cmdeploy/acmetool/acmetool-reconcile.timer
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Renew TLS certificates with acmetool
|
||||||
|
|
||||||
|
[Timer]
|
||||||
|
OnCalendar=*-*-* 16:20:00
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=timers.target
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
SHELL=/bin/sh
|
|
||||||
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
|
|
||||||
MAILTO=root
|
|
||||||
20 16 * * * root /usr/bin/acmetool --batch reconcile && systemctl reload dovecot && systemctl reload postfix && systemctl reload nginx
|
|
||||||
Reference in New Issue
Block a user