]> git.giorgioravera.it Git - network-manager.git/commitdiff
Added management for external DNS temporarirly in local file
authorGiorgio Ravera <giorgio.ravera@gmail.com>
Thu, 12 Mar 2026 16:46:24 +0000 (17:46 +0100)
committerGiorgio Ravera <giorgio.ravera@gmail.com>
Thu, 12 Mar 2026 16:46:24 +0000 (17:46 +0100)
backend/routes/about.py
backend/routes/dns.py

index 1f7a1caad911d91c0976a42ca741c9bfa36fcbb9..f053eb9bb322525eb4c7d9b4fbd3294e9f72e598 100644 (file)
@@ -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,
     }
index 3b06526eccf99ab0232979b82210f49b281afc0d..e5d18c8293a15afa13f85c60a4e3b7a10a568595 100644 (file)
@@ -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