Commit 5d8a333bc3d7

Vincent Demeester <vincent@sbr.pm>
2026-08-11 22:34:46
feat(dns): registered lutece in the sbr.pm and vpn zones
Lutece only resolved through the wildcard, which pointed its name at carthage and made a generic host deploy target dangerous. A travel record was added for the WireGuard endpoint, which unlike the machine records must carry the public address.
1 parent 945b9e9
systems/common/services/dns/10.100.0.nix
@@ -19,6 +19,7 @@ with dns.lib.combinators;
   subdomains = {
     # Name servers (note: shikoku is both ns1 and a regular host)
     "2".PTR = [ "shikoku.vpn." ];
+    "3".PTR = [ "lutece.vpn." ];
     "14".PTR = [ "okinawa.vpn." ];
     "8".PTR = [ "wakasu.vpn." ];
     "17".PTR = [ "aomi.vpn." ];
systems/common/services/dns/sbr.pm-common.nix
@@ -46,6 +46,7 @@ let
     "kyushu"
     "okinawa"
     "wakasu"
+    "lutece"
   ];
 
   mkMachineRecords = builtins.listToAttrs (
systems/common/services/dns/sbr.pm-gandi.nix
@@ -25,5 +25,10 @@ baseZone
     podcasts.A = [ "46.224.100.116" ]; # audiobookshelf
     rss.A = [ "46.224.100.116" ]; # miniflux
     llm.A = [ "10.100.0.50" ]; # rhea VPN IP
+
+    # WireGuard endpoint of the travel exit node, so client configs can use a
+    # name instead of a bare IP. Must be lutece's public address: it is dialled
+    # from outside any tunnel.
+    travel.A = [ "64.31.63.130" ];
   };
 }
systems/common/services/dns/vpn.nix
@@ -13,6 +13,7 @@ let
     "demeter"
     "nagoya"
     "kyushu"
+    "lutece"
   ];
 
   mkVpnMachineRecords = builtins.listToAttrs (
globals.nix
@@ -440,7 +440,6 @@ _: {
     # (see globals.net.travel).
     lutece = {
       net = {
-        ips = [ "64.31.63.130" ];
         vpn = {
           pubkey = "H7q7Qz7JqAKXlEbNMBW3quac2GDASAZ0SYvCvJ96NTo=";
           ips = [ "10.100.0.3" ];