feat: implement notifications from gustave->akhaten

This commit is contained in:
Julien Malka 2024-08-14 13:15:29 +02:00
parent 78e90e159e
commit 43f11e25d4
Signed by: Luj
GPG key ID: 6FC74C847011FD83

View file

@ -31,18 +31,36 @@ let
];
}).config.zones;
stateDir = "/var/lib/nsd";
in
{
services.nsd = {
enable = true;
interfaces = [
config.machine.meta.ips.public.ipv4
config.machine.meta.ips.vpn.ipv4
config.machine.meta.ips.public.ipv6
];
zones = lib.mapAttrs (_: value: {
data = builtins.toString value;
provideXFR = [ "100.100.45.0/24 NOKEY" ];
notify = [ "${lib.snowfield.akhaten.ips.vpn.ipv4} NOKEY" ];
}) (evalZones zonesFromConfig);
};
systemd.services.nsd.preStart = lib.mkAfter ''
if [ -f ${stateDir}/counter ]; then
current_value=$(cat ${stateDir}/counter)
new_value=$((current_value + 1))
echo "$new_value" > ${stateDir}/counter
else
echo "0" > ${stateDir}/counter
new_value="0"
fi
sed -i "3s/0/$new_value/" ${stateDir}/zones/julienmalka.me
'';
networking.firewall.allowedUDPPorts = [ 53 ];
}