{ dns, ... }: with dns.lib.combinators; { SOA = { nameServer = "ns01.beta.dgnum.eu"; adminEmail = "dns@dgnum.eu"; serial = 2019030800; retry = 3600; minimum = 300; }; NS = [ # TODO: add nameservers with GLUE and everything ]; #A = [ "203.0.113.1" ]; #AAAA = [ "4321:0:1:2:3:4:567:89ab" ]; subdomains = { # Hosted services # NOTE: for now manually supplied, in the future automatically filled in photoprism = host "129.199.146.101" null; immich = host "129.199.146.101" null; # Nameservers # TODO: fill this in ns01 = host "" null; # *.infra.beta.dgnum.eu infra = { subdomains = mapAttrs' ( host: { ... }: # NOTE: Originally "${host}.${site}" # I think it makes sense to ditch the site info in the case of the lab nameValuePair "${host}" ( with meta.network.${host}.addresses; { A = ipv4; # FIXME: Enable ipv6 in all VM nodes #AAAA = ipv6; subdomains = { v4.A = ipv4; #v6.AAAA = ipv6; }; } ) ) meta.nodes; }; }; }