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 let
mainServer = "server1"; mainServer = "server1";
pillar = self.lib.saltPillarFor mainServer; pillar = self.lib.saltPillarFor "*";
renameAttr = from: to: attrset: renameAttr = from: to: attrset:
builtins.foldl' (result: name: builtins.foldl' (result: name:

View File

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