Inventory/interface: optional instances, allow to use modules without inventory
This commit is contained in:
@@ -5,7 +5,8 @@
|
|||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
instances = config.clan.inventory.services.borgbackup;
|
# Instances might be empty, if the module is not used via the inventory
|
||||||
|
instances = config.clan.inventory.services.borgbackup or { };
|
||||||
# roles = { ${role_name} :: { machines :: [string] } }
|
# roles = { ${role_name} :: { machines :: [string] } }
|
||||||
allServers = lib.foldlAttrs (
|
allServers = lib.foldlAttrs (
|
||||||
acc: _instanceName: instanceConfig:
|
acc: _instanceName: instanceConfig:
|
||||||
|
|||||||
@@ -4,9 +4,11 @@ let
|
|||||||
machineDir = clanDir + "/machines/";
|
machineDir = clanDir + "/machines/";
|
||||||
inherit (config.clan.core) machineName;
|
inherit (config.clan.core) machineName;
|
||||||
|
|
||||||
instances = config.clan.inventory.services.borgbackup;
|
# Instances might be empty, if the module is not used via the inventory
|
||||||
|
#
|
||||||
# roles = { ${role_name} :: { machines :: [string] } }
|
# Type: { ${instanceName} :: { roles :: Roles } }
|
||||||
|
# Roles :: { ${role_name} :: { machines :: [string] } }
|
||||||
|
instances = config.clan.inventory.services.borgbackup or { };
|
||||||
|
|
||||||
allClients = lib.foldlAttrs (
|
allClients = lib.foldlAttrs (
|
||||||
acc: _instanceName: instanceConfig:
|
acc: _instanceName: instanceConfig:
|
||||||
|
|||||||
@@ -48,6 +48,7 @@ let
|
|||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.clan.inventory.services = lib.mkOption {
|
options.clan.inventory.services = lib.mkOption {
|
||||||
|
default = { };
|
||||||
description = ''
|
description = ''
|
||||||
Configuration for each inventory service.
|
Configuration for each inventory service.
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user