2024-11-22 22:16:04 +01:00
|
|
|
{ dns, lib, ... }:
|
2024-11-22 21:32:35 +01:00
|
|
|
|
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
|
2024-11-22 21:32:35 +01:00
|
|
|
with dns.lib.combinators;
|
|
|
|
{
|
|
|
|
SOA = {
|
2024-11-22 21:52:30 +01:00
|
|
|
nameServer = "ns01.beta.dgnum.eu";
|
|
|
|
adminEmail = "dns@dgnum.eu";
|
2024-11-22 21:32:35 +01:00
|
|
|
serial = 2019030800;
|
2024-11-22 21:52:30 +01:00
|
|
|
retry = 3600;
|
|
|
|
minimum = 300;
|
2024-11-22 21:32:35 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
NS = [
|
2024-11-22 23:50:21 +01:00
|
|
|
"ns01.beta.dgnum.eu."
|
|
|
|
"ns02.beta.dgnum.eu."
|
2024-11-22 21:32:35 +01:00
|
|
|
];
|
|
|
|
|
|
|
|
#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
|
2024-11-22 21:32:35 +01:00
|
|
|
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;
|
|
|
|
# FIXME: Enable ipv6 in all VM nodes
|
|
|
|
|
|
|
|
#AAAA = ipv6;
|
|
|
|
subdomains = {
|
|
|
|
v4.A = ipv4;
|
|
|
|
#v6.AAAA = ipv6;
|
|
|
|
};
|
|
|
|
}
|
|
|
|
)
|
|
|
|
) meta.nodes;
|
|
|
|
};
|
2024-11-22 21:32:35 +01:00
|
|
|
};
|
|
|
|
}
|