diff options
| author | Mathias Magnusson <mathias@magnusson.space> | 2025-11-18 16:00:45 +0100 |
|---|---|---|
| committer | Mathias Magnusson <mathias@magnusson.space> | 2025-11-18 16:00:45 +0100 |
| commit | 3c214d788e671e867231d30374465f14969c46dd (patch) | |
| tree | 46d6d89984b6f28960a3d399fb7c7ab4d1b41cb5 /router.nix | |
| parent | c95b2340926c9158f72a8e4a0248ea0d7ac384f0 (diff) | |
| download | oden-3c214d788e671e867231d30374465f14969c46dd.tar.gz | |
move ddns setup to hetzner
Diffstat (limited to 'router.nix')
| -rw-r--r-- | router.nix | 19 |
1 files changed, 14 insertions, 5 deletions
@@ -1,4 +1,4 @@ -{ config, pkgs, ... }: +{ config, pkgs, inputs, ... }: { boot.kernel.sysctl."net.ipv4.conf.all.forwarding" = true; @@ -113,7 +113,11 @@ }; services.resolved.enable = false; - services.networkd-dispatcher = { + services.networkd-dispatcher = + let + logPath = "/home/mathias/networkd-dispatcher-run"; + in + { enable = true; rules."ddns" = { onState = [ "routable" ]; @@ -124,8 +128,13 @@ exit 0 fi - ${pkgs.curl}/bin/curl "$(cat "${config.age.secrets."dyndns-url.txt".path}")" - printf "%s: %s\n" "$(date)" "$ADDR" >> /home/mathias/networkd-dispatcher-run + { + echo + printf "%s: %s\n" "$(date)" "$ADDR" + HCLOUD_TOKEN="$(cat "${config.age.secrets."hcloud-token.txt".path}")" \ + ${inputs.unstable.legacyPackages.${pkgs.system}.hcloud}/bin/hcloud \ + zone rrset set-records 0m.nu @ A --record "''${ADDR%% *}" 2>&1 + } >> "${logPath}" exit 0 ''; @@ -197,5 +206,5 @@ age.secrets."wifi-password-staff.txt".file = ./secrets/wifi-password-staff.txt.age; age.secrets."wifi-password-guest.txt".file = ./secrets/wifi-password-guest.txt.age; - age.secrets."dyndns-url.txt".file = ./secrets/dyndns-url.txt.age; + age.secrets."hcloud-token.txt".file = ./secrets/hcloud-token.txt.age; } |
