networking: Set overlay options in nebula module

This commit is contained in:
SebastianStork 2026-01-15 21:05:40 +01:00
parent 7b8435a555
commit 82844a3bb4
Signed by: SebastianStork
SSH key fingerprint: SHA256:tRrGdjYOwgHxpSc/wTOZQZEjxcb15P0tyXRsbAfd+2Q
2 changed files with 14 additions and 9 deletions

View file

@ -21,18 +21,15 @@ in
overlay = {
networkAddress = lib.mkOption {
type = lib.types.nonEmptyStr;
default = "10.254.250.0";
readOnly = true;
default = "";
};
prefixLength = lib.mkOption {
type = lib.types.ints.between 0 32;
default = 24;
readOnly = true;
type = lib.types.nullOr (lib.types.ints.between 0 32);
default = null;
};
domain = lib.mkOption {
type = lib.types.nonEmptyStr;
default = "splitleaf.de";
readOnly = true;
default = "";
};
address = lib.mkOption {
@ -41,11 +38,11 @@ in
};
interface = lib.mkOption {
type = lib.types.nonEmptyStr;
default = "nebula";
default = "";
};
systemdUnit = lib.mkOption {
type = lib.types.nonEmptyStr;
default = "nebula@mesh.service";
default = "";
};
dnsServers = lib.mkOption {

View file

@ -30,6 +30,14 @@ in
message = "'${netCfg.hostname}' is a Nebula lighthouse, but underlay.isPublic is not set. Lighthouses must be publicly reachable.";
};
custom.networking.overlay = {
networkAddress = "10.254.250.0";
prefixLength = 24;
domain = "splitleaf.de";
interface = "nebula";
systemdUnit = "nebula@mesh.service";
};
meta.ports.udp = lib.optional netCfg.underlay.isPublic publicPort;
sops.secrets."nebula/host-key" = {