{ config, lib, dns, ... }: with dns.lib.combinators; let my = config.my; upstream-v4-proxies = [ "51.15.7.181" ]; # kurisu.dual.lahfa.xyz public-cof-ips = [ "2001:470:1f13:187:c08e:feff:fe4d:f5f5" ]; delegateACMEDNSChallenge = acme: { _acme-challenge.CNAME = [ acme ]; }; remoteBuilders = { nix01 = [ "2001:470:1f13:187:1e07:c670:3958:f8f1" ]; }; dualstack = { A = my.ipv4; AAAA = my.ipv6.standard; }; in dualstack // { SOA = { nameServer = "ns1.${my.subZone}."; adminEmail = my.email; serial = 2021111400; # Y M D Version }; NS = [ "ns1.${my.subZone}." ]; CAA = letsEncrypt my.email; subdomains = { git = dualstack; drone = dualstack; wiki = dualstack; monitoring = dualstack; auth = dualstack; push = dualstack; core01 = dualstack; ns1 = dualstack; builders.subdomains = lib.mapAttrs (n: AAAA: { inherit AAAA; }) remoteBuilders; gdd = { NS = [ "ns1.gdd.${my.subZone}." ]; subdomains.ns1.AAAA = [ "2001:470:1f13:187:350a:214a:639c:b97b" ]; AAAA = [ "2001:470:1f13:187:350a:214a:639c:b97b" ]; }; acme = { NS = [ "acme.${my.subZone}." ]; AAAA = [ my.ipv6.acme ]; }; beta = { AAAA = public-cof-ips; subdomains = { nuage.A = upstream-v4-proxies; nuage.AAAA = public-cof-ips; minecraft.AAAA = public-cof-ips; factorio.AAAA = public-cof-ips; home.A = upstream-v4-proxies; home.AAAA = public-cof-ips; pads.AAAA = public-cof-ips; pads.subdomains = { api.AAAA = public-cof-ips; files.AAAA = public-cof-ips; sandbox.AAAA = public-cof-ips; }; docs.AAAA = public-cof-ips; docs.A = upstream-v4-proxies; jurisprudens = { AAAA = public-cof-ips; A = upstream-v4-proxies; }; }; }; internal.subdomains = { # Routers router01.A = [ "10.1.1.1" ]; router02.A = [ "10.1.1.1" ]; # Hypervisors pve01 = { A = [ "10.1.1.10" ]; subdomains = { idrac.A = [ "10.1.2.20" ]; } // delegateACMEDNSChallenge "7c663a49-151c-4eea-a34f-725ff9f19d41.acme.rz.ens.wtf."; }; # Core machines core01.A = [ "10.1.1.20" ]; }; }; }