From 3b2ea1c7c71ba754e7a0e87ff8540a01e2452697 Mon Sep 17 00:00:00 2001 From: Davide Principi Date: Fri, 7 Feb 2025 11:59:31 +0100 Subject: [PATCH] fixup! feat!: single default ACME certificate --- imageroot/actions/delete-certificate/20writeconfig | 1 + imageroot/pypkg/cert_helpers.py | 6 ++++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/imageroot/actions/delete-certificate/20writeconfig b/imageroot/actions/delete-certificate/20writeconfig index eba52cf..11990b0 100755 --- a/imageroot/actions/delete-certificate/20writeconfig +++ b/imageroot/actions/delete-certificate/20writeconfig @@ -9,6 +9,7 @@ import json import sys import os import cert_helpers +import agent def main(): request = json.load(sys.stdin) diff --git a/imageroot/pypkg/cert_helpers.py b/imageroot/pypkg/cert_helpers.py index 7451e01..aa7e557 100644 --- a/imageroot/pypkg/cert_helpers.py +++ b/imageroot/pypkg/cert_helpers.py @@ -47,12 +47,14 @@ def remove_custom_cert(name): os.unlink(path) except FileNotFoundError: pass + rdb = agent.redis_connect(privileged=True) + rdb.delete(f'module/{os.environ["MODULE_ID"]}/certificate/{name}') def has_acmejson_name(name): """Return True if name is found among acme.json Certificates.""" with open('acme/acme.json', 'r') as fp: acmejson = json.load(fp) - for ocert in acmejson['acmeServer']["Certificates"]: + for ocert in acmejson['acmeServer']["Certificates"] or []: if ocert["domain"]["main"] == name or name in ocert["domain"].get("sans", []): return True return False @@ -62,7 +64,7 @@ def has_acmejson_cert(main, sans=[]): acme.json Certificates.""" with open('acme/acme.json', 'r') as fp: acmejson = json.load(fp) - for ocert in acmejson['acmeServer']["Certificates"]: + for ocert in acmejson['acmeServer']["Certificates"] or []: if ocert["domain"]["main"] == main and set(ocert["domain"].get("sans", [])) == set(sans): return True return False