From d61651a2e600acf3b0a9017a6347fd327c92c5df Mon Sep 17 00:00:00 2001 From: Giorgio Ravera Date: Thu, 12 Mar 2026 17:46:24 +0100 Subject: [PATCH] Added management for external DNS temporarirly in local file --- backend/routes/about.py | 3 +-- backend/routes/dns.py | 28 ++++++++++++++++++++++++++-- 2 files changed, 27 insertions(+), 4 deletions(-) diff --git a/backend/routes/about.py b/backend/routes/about.py index 1f7a1ca..f053eb9 100644 --- a/backend/routes/about.py +++ b/backend/routes/about.py @@ -17,10 +17,9 @@ router = APIRouter() # --------------------------------------------------------- @router.get("/about") def about(): - domain = get_config("domain") return { "app": { "version": settings.APP_VERSION, }, - "domain": domain, + "domain": settings.DOMAIN, } diff --git a/backend/routes/dns.py b/backend/routes/dns.py index 3b06526..e5d18c8 100644 --- a/backend/routes/dns.py +++ b/backend/routes/dns.py @@ -64,10 +64,34 @@ async def api_dns_reload(request: Request): # Save DNS Aliases Configuration path = settings.DNS_ALIAS_FILE with open(path, "w", encoding="utf-8") as f: - for h in hosts: - line = f"{h.get('name')}\t\t IN\tCNAME\t{h.get('target')}\n" + for a in aliases: + line = f"{a.get('name')}\t\t IN\tCNAME\t{a.get('target')}\n" f.write(line) + # Get Ext_Cname + ext_cname = get_config("external_name") + + # Save DNS Host and Aliases for the EXT DNS + path = settings.DNS_HOST_FILE + "_ext" + with open(path, "w", encoding="utf-8") as f: + for h in hosts: + vis = h.get('visibility') + if (vis == 1): + line = f"{h.get('name')}\t\t IN\tA\t{h.get('ipv4')}\n" + f.write(line) + if (vis == 2): + line = f"{h.get('name')}\t\t IN\tCNAME\t{ext_cname}\n" + f.write(line) + + for a in aliases: + vis = a.get('visibility') + if (vis == 1): + line = f"{a.get('name')}\t\t IN\tCNAME\t{a.get('target')}\n" + f.write(line) + if (vis == 2): + line = f"{a.get('name')}\t\t IN\tCNAME\t{ext_cname}\n" + f.write(line) + # RELOAD DNS took_ms = (time.monotonic_ns() - start_ns) / 1_000_000 -- 2.47.3