Compare commits

..

1 Commits

Author SHA1 Message Date
6f963920ec feat(registry): add generic fleet namespace 2026-08-23 22:37:53 -04:00
2 changed files with 20 additions and 32 deletions

View File

@@ -14,11 +14,7 @@ let
; ;
serviceIdentityRegistry = import ./service-identities.nix { inherit lib; }; serviceIdentityRegistry = import ./service-identities.nix { inherit lib; };
registryLib = import ./registry.nix { inherit lib; }; registry = import ./registry.nix { inherit lib self; };
registry = registryLib.load {
dir = self + "/registry";
args = { inherit lib; };
};
networkEndpoints = import ./network-endpoints.nix { inherit lib; }; networkEndpoints = import ./network-endpoints.nix { inherit lib; };
reverseProxyRoutes = import ./reverse-proxy-routes.nix { inherit lib; }; reverseProxyRoutes = import ./reverse-proxy-routes.nix { inherit lib; };

View File

@@ -1,4 +1,4 @@
{ lib }: { lib, self }:
let let
inherit (lib) inherit (lib)
filterAttrs filterAttrs
@@ -20,34 +20,26 @@ let
Lazily collected fleet-visible registry entries, nested by host and entry name. Lazily collected fleet-visible registry entries, nested by host and entry name.
''; '';
}; };
definitions = mapAttrs' (
name: type:
let
path = self + "/registry/${name}";
in
nameValuePair (registryName name) (import path { inherit lib; })
) (filterAttrs (name: type: type == "regular" && hasSuffix ".nix" name) (builtins.readDir (self + "/registry")));
in in
{ {
load = inherit definitions;
{
dir,
args ? { },
}:
let
definitions = mapAttrs' (
name: type:
let
path = dir + "/${name}";
in
nameValuePair (registryName name) (import path args)
) (filterAttrs (name: type: type == "regular" && hasSuffix ".nix" name) (builtins.readDir dir));
in
{
inherit definitions;
module = { module = {
options.registry = mapAttrs (_name: registry: registryOption registry) definitions; options.registry = mapAttrs (_name: registry: registryOption registry) definitions;
}; };
collect = collect =
{ hosts }: { hosts }:
mapAttrs ( mapAttrs (
registryName: _registry: registryName: _registry:
mapAttrs (hostName: host: host.config.registry.${registryName}.${hostName} or { }) hosts mapAttrs (hostName: host: host.config.registry.${registryName}.${hostName} or { }) hosts
) definitions; ) definitions;
};
} }