refactor(nixos): model route protocols explicitly

This commit is contained in:
2026-10-05 00:08:36 -04:00
parent a7db0b745c
commit 077e56e9ea
4 changed files with 45 additions and 24 deletions

View File

@@ -11,7 +11,9 @@ let
lib.mapAttrsToList (
host: routes:
lib.concatLists (
lib.mapAttrsToList (entry: route: map (mkUdpStream host entry) route.udp.ports) routes
lib.mapAttrsToList (
entry: route: lib.optionals (route.protocol == "udp") (map (mkUdpStream host entry) route.ports)
) routes
)
) registry.route
);
@@ -75,7 +77,7 @@ let
lib.mapAttrsToList (
host: routes:
lib.mapAttrsToList (entry: _route: mkVirtualHost host entry "https") (
lib.filterAttrs (_entry: route: route.port != null) routes
lib.filterAttrs (_entry: route: route.protocol == "https") routes
)
) registry.route
);
@@ -89,7 +91,7 @@ let
or (throw "no matching entry in registry.address for ${mkRegistryPath "route" host entry}");
compositeEntry = registry.join host entry;
inherit (compositeEntry) route;
port = if isHttp then route.http.port else route.port;
inherit (route) port;
in
{
inherit host entry;
@@ -108,7 +110,7 @@ let
lib.mapAttrsToList (
host: routes:
lib.mapAttrsToList (entry: _route: mkVirtualHost host entry "http") (
lib.filterAttrs (_entry: route: route.http.port != null) routes
lib.filterAttrs (_entry: route: route.protocol == "http") routes
)
) registry.route
);