31ec2b64895a5de9bfeb4d561c77e7f824431ed2
Nyota - PVVs network host configuration
Nyota, named after Nyota Uhura, is intended to serve as the source of truth for PVVs DNS and DHCP configurations. It is based on nix, and contains both the generating code and actual data.
Normal PVV "hosts" (servers or similar) can be defined in ./hosts.nix, and custom DNS configurations can be placed in each zone configuration file in ./zones, such as ./zones/pvv.ntnu.no.nix.
Building DNS zone files
Provided you already have nix, you should be able to run nix build .#zoneConfig, and the resulting config is placed in ./result/zones.
Building DHCP configuration
(not implemented)
Examples;
A host configuration like
drolsum = {
ipv4 = pvvv4 217;
ipv6 = pvvv6 217;
aliases = [ "login2" ];
};
roundrobin = {
ipv4 = [ (pvvv4 101) (pvvv4 102) ];
ipv6 = [ (pvvv6 101) (pvvv6 102) ];
};
... will generate a bind configuration like
drolsum.pvv.ntnu.no. IN A 129.241.210.217
drolsum.pvv.ntnu.no. IN AAAA 2001:700:300:1900::217
login2.pvv.ntnu.no. IN CNAME drolsum
roundrobin.pvv.ntnu.no. IN A 129.241.210.101
roundrobin.pvv.ntnu.no. IN A 129.241.210.102
roundrobin.pvv.ntnu.no. IN AAAA 2001:700:300:1900::101
roundrobin.pvv.ntnu.no. IN AAAA 2001:700:300:1900::102
Description
Languages
Nix
100%