summaryrefslogtreecommitdiff
path: root/renew-all
diff options
context:
space:
mode:
authorMatthew Fennell <matthew@fennell.dev>2025-12-28 20:12:04 +0000
committerMatthew Fennell <matthew@fennell.dev>2025-12-29 01:48:48 +0000
commit4fc629331664fb9a2829112f0276c9bfe44a2121 (patch)
tree6c504e5853b46d32f53d6693d81145243fb6fcbb /renew-all
parentf55564b0c5c0791c31b2c14351a7635d23ea0469 (diff)
Add action flag
Historically, this script only allowed renewal. This would break whenever subdomains were added to or removed from the config file, since, when renewing a certificate, the subdomains must remain the same as last time. I got around this by manually modifying the script each time I had to create a new cert. That's risky though, so introduce the structure to allow this to be passed from the terminal.
Diffstat (limited to 'renew-all')
-rwxr-xr-xrenew-all23
1 files changed, 15 insertions, 8 deletions
diff --git a/renew-all b/renew-all
index 05510fa..7be893e 100755
--- a/renew-all
+++ b/renew-all
@@ -10,6 +10,7 @@ import tomllib
parser = argparse.ArgumentParser()
parser.add_argument("--env", required=True, choices=["prod", "nonprod"])
+parser.add_argument("action", default="renew", nargs="?", choices=["renew", "run"])
args = parser.parse_args()
@@ -27,6 +28,19 @@ def main() -> None:
for subdomain in subdomain_list
for request in ("--domains", subdomain)
]
+ actions = {
+ "renew": [
+ "renew",
+ "--reuse-key",
+ "--days",
+ str(domain["renew_days"]),
+ "--renew-hook",
+ domain[f"renew_script_{args.env}"],
+ ],
+ "run": [
+ "run",
+ ],
+ }
command = (
[
"lego",
@@ -40,14 +54,7 @@ def main() -> None:
"--dns.disable-cp",
]
+ subdomain_requests
- + [
- "renew",
- "--reuse-key",
- "--days",
- str(domain["renew_days"]),
- "--renew-hook",
- domain[f"renew_script_{args.env}"],
- ]
+ + actions[args.action]
)
environment = {
"DESEC_POLLING_INTERVAL": str(config["timeout_seconds"]),