diff --git a/cmdeploy/src/cmdeploy/acmetool/__init__.py b/cmdeploy/src/cmdeploy/acmetool/__init__.py index 75398063..e4e1ed84 100644 --- a/cmdeploy/src/cmdeploy/acmetool/__init__.py +++ b/cmdeploy/src/cmdeploy/acmetool/__init__.py @@ -61,6 +61,19 @@ class AcmetoolDeployer(Deployer): mode="644", ) + server.shell( + name=f"Remove old acmetool desired files for {self.domains[0]}", + commands=[f"rm -f /var/lib/acme/desired/{self.domains[0]}-*"], + ) + files.template( + src=importlib.resources.files(__package__).joinpath("desired.yaml.j2"), + dest=f"/var/lib/acme/desired/{self.domains[0]}", # 0 is mailhost TLD + user="root", + group="root", + mode="644", + domains=self.domains, + ) + service_file = files.put( src=importlib.resources.files(__package__).joinpath( "acmetool-redirector.service" @@ -123,6 +136,6 @@ class AcmetoolDeployer(Deployer): self.need_restart_reconcile_timer = False server.shell( - name=f"Request certificate for: {', '.join(self.domains)}", - commands=[f"acmetool want --xlog.severity=debug {' '.join(self.domains)}"], + name=f"Reconcile certificates for: {', '.join(self.domains)}", + commands=["acmetool --batch --xlog.severity=debug reconcile"], ) diff --git a/cmdeploy/src/cmdeploy/acmetool/desired.yaml.j2 b/cmdeploy/src/cmdeploy/acmetool/desired.yaml.j2 new file mode 100644 index 00000000..a5b340aa --- /dev/null +++ b/cmdeploy/src/cmdeploy/acmetool/desired.yaml.j2 @@ -0,0 +1,6 @@ +satisfy: + names: +{%- for domain in domains %} + - {{ domain }} +{%- endfor %} +