diff --git a/README.md b/README.md index f3fa0b3..62e53f4 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,13 @@ -# Nyota - PVVs network host configuration +# PVV-DNS -Nyota, named after Nyota Uhura, is intended to serve as the source of truth for PVVs DNS configuration. -It is based on nix, and this repository should contain both the generating code and actual data. +This repository contains both the code and data needed to generate PVVs DNS configuration. -Normal PVV "hosts" (servers or similar) should be defined in ./hosts.nix, and configuration and additional records can be placed in each zone configuration file in ./zones, such as ./zones/pvv.ntnu.no.nix. +> [!NOTE] +> This is currently very WIP, and not in production use. At the minute, DNS is still managed manually in /etc/bind/zones on ameno. + +Normal PVV "hosts" (servers, mostly) should be defined in ./hosts.nix, and configuration and additional records can be placed in each zone configuration file in ./zones, such as ./zones/pvv.ntnu.no.nix. + +The code in this repository is basically a whole heap of pre-processing to turn the hosts-file and zone-specific options into the format used by [nix-community/dns.nix](https://github.com/nix-community/dns.nix), that in turn generates zone files. ## Building DNS zone files @@ -55,3 +59,4 @@ roundrobin.pvv.ntnu.no. IN AAAA 2001:700:300:1900::202 - Also generate DHCP server configurations - Build and verify with CI/CD - Automatically push updated configurations to the DNS server +- Replace dns.nix with homemade zonefile generators to make them more human readable diff --git a/flake.nix b/flake.nix index 095f269..e634000 100644 --- a/flake.nix +++ b/flake.nix @@ -1,5 +1,5 @@ { - description = "Nyota - PVV DNS"; + description = "PVV-DNS"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable-small"; diff --git a/hosts.nix b/hosts.nix index c7b2900..cb4f80e 100644 --- a/hosts.nix +++ b/hosts.nix @@ -3,6 +3,11 @@ let pvvv6 = hostPart: "2001:700:300:1900::${toString hostPart}"; in { + # Note: See ./README.md for usage + # Hosts specified here will be included in the default/general DNS setup, with records in + # - pvv.org + # - pvv.ntnu.no + # - 210.241.129.in-addr.arpa. (reverse-ipv4, where applicable) # Terminaler demiurgen = { @@ -20,7 +25,7 @@ in aliases = [ "login2" ]; }; - # DNS-testere + # PVV-DNS code stress-testing: utenipv4 = { ipv6 = pvvv6 1337; }; @@ -39,4 +44,9 @@ in (pvvv6 202) ]; }; + + ildkule = { + ipv4 = "129.241.153.213"; + ipv6 = "2001:700:300:6026:f816:3eff:fe58:f1e8"; + }; }