legacy: implement "*" for salt-pillar lookup

This commit is contained in:
Astro 2021-03-27 01:32:06 +01:00
parent 37dd4550bb
commit 3d2cfa4e8a
2 changed files with 13 additions and 9 deletions

View File

@ -2,7 +2,7 @@
let
mainServer = "server1";
pillar = self.lib.saltPillarFor mainServer;
pillar = self.lib.saltPillarFor "*";
renameAttr = from: to: attrset:
builtins.foldl' (result: name:

View File

@ -12,15 +12,19 @@ let
globToRegex = builtins.replaceStrings ["*"] [".*"];
baseMatches =
builtins.filter (patterns:
pkgs.lib.any (pattern:
builtins.match (globToRegex pattern) hostName != null
) (
builtins.filter builtins.isString (
builtins.split " or " patterns
if hostName == "*"
then
builtins.attrNames pillarBase
else
builtins.filter (patterns:
pkgs.lib.any (pattern:
builtins.match (globToRegex pattern) hostName != null
) (
builtins.filter builtins.isString (
builtins.split " or " patterns
)
)
)
) (builtins.attrNames pillarBase);
) (builtins.attrNames pillarBase);
fileIds = builtins.foldl' (result: matchName:
result ++ pillarBase.${matchName}