Platform 23.11 #96
2 changed files with 27 additions and 0 deletions
|
@ -8,6 +8,7 @@ in
|
||||||
imports = [
|
imports = [
|
||||||
./options.nix
|
./options.nix
|
||||||
./nodes.nix
|
./nodes.nix
|
||||||
|
./ns-records.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
links = {
|
links = {
|
||||||
|
|
26
cluster/services/dns/ns-records.nix
Normal file
26
cluster/services/dns/ns-records.nix
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
{ config, depot, lib, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.services.dns;
|
||||||
|
|
||||||
|
nsNodes = lib.imap1 (idx: node: {
|
||||||
|
name = "eu${toString idx}.ns";
|
||||||
|
value = {
|
||||||
|
type = "A";
|
||||||
|
target = [ depot.hours.${node}.interfaces.primary.addrPublic ];
|
||||||
|
};
|
||||||
|
}) cfg.nodes.authoritative;
|
||||||
|
in
|
||||||
|
|
||||||
|
{
|
||||||
|
dns.records = lib.mkMerge [
|
||||||
|
(lib.listToAttrs nsNodes)
|
||||||
|
{
|
||||||
|
NS = {
|
||||||
|
name = "@";
|
||||||
|
type = "NS";
|
||||||
|
target = map (ns: "${ns.name}.${depot.lib.meta.domain}.") nsNodes;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
Loading…
Reference in a new issue