Skip to content

Commit 83e7cae

Browse files
committed
Replace acmetool cronjob with a timer
1 parent 1cff4a9 commit 83e7cae

File tree

4 files changed

+54
-10
lines changed

4 files changed

+54
-10
lines changed

cmdeploy/src/cmdeploy/acmetool/__init__.py

Lines changed: 38 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,10 @@ def deploy_acmetool(email="", domains=[]):
1010
packages=["acmetool"],
1111
)
1212

13-
files.put(
14-
src=importlib.resources.files(__package__).joinpath("acmetool.cron").open("rb"),
15-
dest="/etc/cron.d/acmetool",
16-
user="root",
17-
group="root",
18-
mode="644",
13+
files.file(
14+
name="Remove old acmetool cronjob, it is replaced with systemd timer.",
15+
path="/etc/cron.d/acmetool",
16+
present=False,
1917
)
2018

2119
files.put(
@@ -67,6 +65,40 @@ def deploy_acmetool(email="", domains=[]):
6765
restarted=service_file.changed,
6866
)
6967

68+
reconcile_service_file = files.put(
69+
src=importlib.resources.files(__package__).joinpath(
70+
"acmetool-reconcile.service"
71+
),
72+
dest="/etc/systemd/system/acmetool-reconcile.service",
73+
user="root",
74+
group="root",
75+
mode="644",
76+
)
77+
78+
systemd.service(
79+
name="Setup acmetool-reconcile service",
80+
service="acmetool-reconcile.service",
81+
running=False,
82+
enabled=False,
83+
daemon_reload=reconcile_service_file.changed,
84+
)
85+
86+
reconcile_timer_file = files.put(
87+
src=importlib.resources.files(__package__).joinpath("acmetool-reconcile.timer"),
88+
dest="/etc/systemd/system/acmetool-reconcile.timer",
89+
user="root",
90+
group="root",
91+
mode="644",
92+
)
93+
94+
systemd.service(
95+
name="Setup acmetool-reconcile timer",
96+
service="acmetool-reconcile.timer",
97+
running=True,
98+
enabled=True,
99+
daemon_reload=reconcile_timer_file.changed,
100+
)
101+
70102
server.shell(
71103
name=f"Request certificate for: {', '.join(domains)}",
72104
commands=[f"acmetool want --xlog.severity=debug {' '.join(domains)}"],
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
[Unit]
2+
Description=Renew TLS certificates with acmetool
3+
After=network.target
4+
5+
[Service]
6+
Type=oneshot
7+
ExecStart=/usr/bin/acmetool --batch reconcile
8+
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
[Unit]
2+
Description=Renew TLS certificates with acmetool
3+
4+
[Timer]
5+
OnCalendar=*-*-* 16:20:00
6+
7+
[Install]
8+
WantedBy=timers.target

cmdeploy/src/cmdeploy/acmetool/acmetool.cron

Lines changed: 0 additions & 4 deletions
This file was deleted.

0 commit comments

Comments
 (0)