feat(meta/checks): check only for required ssh keys
This commit is contained in:
parent
b0bc3fae4a
commit
58bffb0263
1 changed files with 10 additions and 1 deletions
|
@ -8,11 +8,14 @@
|
||||||
|
|
||||||
let
|
let
|
||||||
inherit (lib)
|
inherit (lib)
|
||||||
|
concatLists
|
||||||
|
mapAttrsToList
|
||||||
mkEnableOption
|
mkEnableOption
|
||||||
mkDefault
|
mkDefault
|
||||||
mkIf
|
mkIf
|
||||||
mkOption
|
mkOption
|
||||||
optionalAttrs
|
optionalAttrs
|
||||||
|
unique
|
||||||
;
|
;
|
||||||
|
|
||||||
inherit (lib.types)
|
inherit (lib.types)
|
||||||
|
@ -382,6 +385,12 @@ in
|
||||||
groupsExists = nameExists groups;
|
groupsExists = nameExists groups;
|
||||||
|
|
||||||
extract = name: builtins.mapAttrs (_: builtins.getAttr name);
|
extract = name: builtins.mapAttrs (_: builtins.getAttr name);
|
||||||
|
|
||||||
|
nodeAdmins =
|
||||||
|
_:
|
||||||
|
{ admins, adminGroups, ... }:
|
||||||
|
(builtins.foldl' (members: group: members ++ org.groups.${group})) admins adminGroups;
|
||||||
|
all-admins = unique (org.groups.root ++ concatLists (mapAttrsToList nodeAdmins config.nodes));
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
assertions = builtins.concatLists [
|
assertions = builtins.concatLists [
|
||||||
|
@ -419,7 +428,7 @@ in
|
||||||
(builtins.map (name: {
|
(builtins.map (name: {
|
||||||
assertion = ((import ../keys)._keys.${name} or [ ]) != [ ];
|
assertion = ((import ../keys)._keys.${name} or [ ]) != [ ];
|
||||||
message = "No ssh keys found for ${name}.";
|
message = "No ssh keys found for ${name}.";
|
||||||
}) members)
|
}) all-admins)
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue