lab-infra/machines/dns01/lab.dgnum.eu.nix

61 lines
1.2 KiB
Nix

{
meta,
dns,
lib,
...
}:
let
inherit (lib) mapAttrs' nameValuePair;
in
with dns.lib.combinators;
{
SOA = {
nameServer = "ns01.lab.dgnum.eu";
adminEmail = "dns@dgnum.eu";
serial = 2019030800;
retry = 3600;
minimum = 300;
};
NS = [ "ns01.lab.dgnum.eu." ];
#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;
homebox = host "129.199.146.102" null;
status = host "129.199.146.103" null;
kfet = host "129.199.146.230" "2a0e:e701:1120:1000::f:1";
# Nameservers
ns01 = host "45.13.104.26" "2a0e:e701:1120:1000:ffff::45.13.104.26";
# *.infra.lab.dgnum.eu
infra = {
subdomains = mapAttrs' (
host:
{ site, ... }:
nameValuePair "${host}.${site}" (
with meta.network.${host}.addresses;
{
A = ipv4;
AAAA = ipv6;
subdomains = {
v4.A = ipv4;
v6.AAAA = ipv6;
};
}
)
) meta.nodes;
};
};
}