1 parent
1947ee0c9f
commit
6fa74fead8
22 files changed
+116
-144
No files matched your search
@@ -0,0 +1,34 @@
|
||||
{ lib }:
|
||||
|
||||
{
|
||||
mkSopsSecrets =
|
||||
sopsDir: owner: groups:
|
||||
let
|
||||
opts = lib.optionalAttrs (owner != null) { inherit owner; };
|
||||
mkGroup =
|
||||
group: names:
|
||||
lib.listToAttrs (
|
||||
map (name: {
|
||||
name = "${group}/${name}";
|
||||
value = {
|
||||
sopsFile = "${sopsDir}/${group}.yaml";
|
||||
key = name;
|
||||
}
|
||||
// opts;
|
||||
}) names
|
||||
);
|
||||
in
|
||||
lib.mergeAttrsList (lib.mapAttrsToList mkGroup groups);
|
||||
|
||||
sopsAvailability =
|
||||
config: osConfig:
|
||||
let
|
||||
osSopsAvailable = osConfig != null && osConfig ? sops && osConfig.sops ? secrets;
|
||||
hmSopsAvailable = config ? sops && config.sops ? secrets;
|
||||
in
|
||||
{
|
||||
available = osSopsAvailable || hmSopsAvailable;
|
||||
secrets = if osSopsAvailable then osConfig.sops.secrets else config.sops.secrets;
|
||||
templates = if osSopsAvailable then osConfig.sops.templates else config.sops.templates;
|
||||
};
|
||||
}
|
||||
Reference in new issue
Block a user