From 3d2cfa4e8aa40564ebdfe141c4aebd0bd48830c4 Mon Sep 17 00:00:00 2001 From: Astro Date: Sat, 27 Mar 2021 01:32:06 +0100 Subject: [PATCH] legacy: implement "*" for salt-pillar lookup --- nix/lib/config/legacy.nix | 2 +- nix/lib/salt-support/salt-pillar.nix | 20 ++++++++++++-------- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/nix/lib/config/legacy.nix b/nix/lib/config/legacy.nix index 570b6d8..1b12a8d 100644 --- a/nix/lib/config/legacy.nix +++ b/nix/lib/config/legacy.nix @@ -2,7 +2,7 @@ let mainServer = "server1"; - pillar = self.lib.saltPillarFor mainServer; + pillar = self.lib.saltPillarFor "*"; renameAttr = from: to: attrset: builtins.foldl' (result: name: diff --git a/nix/lib/salt-support/salt-pillar.nix b/nix/lib/salt-support/salt-pillar.nix index 10c0988..79929d2 100644 --- a/nix/lib/salt-support/salt-pillar.nix +++ b/nix/lib/salt-support/salt-pillar.nix @@ -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}