data-mesher: init module

Co-authored-by: Brian McGee <brian@bmcgee.ie>
This commit is contained in:
Pablo Ovelleiro Corral
2025-03-10 13:23:04 +01:00
committed by Brian McGee
parent 43bd4403c6
commit 42b58910a9
24 changed files with 478 additions and 15 deletions

View File

@@ -0,0 +1,19 @@
lib: {
machines =
config:
let
instanceNames = builtins.attrNames config.clan.inventory.services.data-mesher;
instanceName = builtins.head instanceNames;
dataMesherInstances = config.clan.inventory.services.data-mesher.${instanceName};
uniqueStrings = list: builtins.attrNames (builtins.groupBy lib.id list);
in
rec {
admins = dataMesherInstances.roles.admin.machines or [ ];
signers = dataMesherInstances.roles.signer.machines or [ ];
peers = dataMesherInstances.roles.peer.machines or [ ];
bootstrap = uniqueStrings (admins ++ signers);
};
}