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

56 lines
1.1 KiB
Nix
Raw Normal View History

2024-11-22 22:16:04 +01:00
{ dns, lib, ... }:
2024-11-22 22:16:22 +01:00
let
2024-11-22 22:16:04 +01:00
inherit (lib) mapAttrs' nameValuePair;
meta = (import ./../../meta) lib;
in
with dns.lib.combinators;
{
SOA = {
2024-11-22 21:52:30 +01:00
nameServer = "ns01.beta.dgnum.eu";
adminEmail = "dns@dgnum.eu";
serial = 2019030800;
2024-11-22 21:52:30 +01:00
retry = 3600;
minimum = 300;
};
NS = [
2024-11-22 23:50:21 +01:00
"ns01.beta.dgnum.eu."
"ns02.beta.dgnum.eu."
];
#A = [ "203.0.113.1" ];
#AAAA = [ "4321:0:1:2:3:4:567:89ab" ];
subdomains = {
2024-11-22 21:52:30 +01:00
# 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;
2024-11-22 21:52:30 +01:00
# Nameservers
# TODO: fill this in
2024-11-22 22:16:04 +01:00
#ns01 = host "" null;
2024-11-22 21:52:30 +01:00
# *.infra.beta.dgnum.eu
infra = {
subdomains = mapAttrs' (
host:
2024-11-22 22:16:04 +01:00
{ site, ... }:
nameValuePair "${host}.${site}" (
2024-11-22 21:52:30 +01:00
with meta.network.${host}.addresses;
{
A = ipv4;
AAAA = ipv6;
2024-11-22 21:52:30 +01:00
subdomains = {
v4.A = ipv4;
v6.AAAA = ipv6;
2024-11-22 21:52:30 +01:00
};
}
)
) meta.nodes;
};
};
}