diff --git a/nixosModules/clanCore/vars/secret/sops/default.nix b/nixosModules/clanCore/vars/secret/sops/default.nix index 43c0983d1..17e95f30e 100644 --- a/nixosModules/clanCore/vars/secret/sops/default.nix +++ b/nixosModules/clanCore/vars/secret/sops/default.nix @@ -10,17 +10,11 @@ let inherit (import ./funcs.nix { inherit lib; }) listVars; - varsDirMachines = config.clan.core.clanDir + "/sops/vars/per-machine"; + varsDirMachines = + config.clan.core.clanDir + "/sops/vars/per-machine/${config.clan.core.machineName}"; varsDirShared = config.clan.core.clanDir + "/sops/vars/shared"; - varsUnfiltered = (listVars varsDirMachines) ++ (listVars varsDirShared); - filterVars = - vars: - builtins.elem vars.machine [ - config.clan.core.machineName - "shared" - ]; - vars = lib.filter filterVars varsUnfiltered; + vars = lib.traceValSeq (listVars varsDirMachines) ++ (listVars varsDirShared); in { diff --git a/nixosModules/clanCore/vars/secret/sops/eval-tests/default.nix b/nixosModules/clanCore/vars/secret/sops/eval-tests/default.nix index d775350a0..b1e2b4616 100644 --- a/nixosModules/clanCore/vars/secret/sops/eval-tests/default.nix +++ b/nixosModules/clanCore/vars/secret/sops/eval-tests/default.nix @@ -21,23 +21,24 @@ in }; test_listSecrets = { - expr = listVars ./populated/vars; + expr = listVars "per_machine" ./populated/vars/my_machine; expected = [ { - machine = "my_machine"; generator = "my_generator"; name = "my_secret"; + id = "per_machine/my_generator/my_secret"; + sopsFile = "${./populated/vars/my_machine}/my_generator/my_secret/secret"; } ]; }; test_listSecrets_no_vars = { - expr = listVars noVars; + expr = listVars "per_machine" noVars; expected = [ ]; }; test_listSecrets_empty_vars = { - expr = listVars emtpyVars; + expr = listVars "per_machine" emtpyVars; expected = [ ]; }; } diff --git a/nixosModules/clanCore/vars/secret/sops/funcs.nix b/nixosModules/clanCore/vars/secret/sops/funcs.nix index 4b6dded74..70b565a43 100644 --- a/nixosModules/clanCore/vars/secret/sops/funcs.nix +++ b/nixosModules/clanCore/vars/secret/sops/funcs.nix @@ -14,17 +14,13 @@ rec { listVars = varsDir: - flip concatMap (readDirNames varsDir) ( - machine_name: - flip concatMap (readDirNames (varsDir + "/${machine_name}")) ( - generator_name: - flip map (readDirNames (varsDir + "/${machine_name}/${generator_name}")) (secret_name: { - machine = machine_name; - generator = generator_name; - name = secret_name; - id = "${machine_name}/${generator_name}/${secret_name}"; - sopsFile = "${varsDir}/${machine_name}/${generator_name}/${secret_name}/secret"; - }) - ) + flip concatMap (readDirNames (varsDir)) ( + generator_name: + flip map (readDirNames (varsDir + "/${generator_name}")) (secret_name: { + generator = generator_name; + name = secret_name; + id = "${generator_name}/${secret_name}"; + sopsFile = "${varsDir}/${generator_name}/${secret_name}/secret"; + }) ); } diff --git a/pkgs/clan-cli/tests/test_vars_deployment.py b/pkgs/clan-cli/tests/test_vars_deployment.py index 2b2c361d7..7ea04a488 100644 --- a/pkgs/clan-cli/tests/test_vars_deployment.py +++ b/pkgs/clan-cli/tests/test_vars_deployment.py @@ -35,8 +35,8 @@ def test_vm_deployment( cli.run(["vars", "generate", "my_machine"]) run_vm_in_thread("my_machine") qga = qga_connect("my_machine") - qga.run("ls /run/secrets/my_machine/my_generator/my_secret", check=True) - _, out, _ = qga.run("cat /run/secrets/my_machine/my_generator/my_secret") + qga.run("ls /run/secrets/my_generator/my_secret", check=True) + _, out, _ = qga.run("cat /run/secrets/my_generator/my_secret") assert out == "hello\n" qga.exec_cmd("poweroff") wait_vm_down("my_machine")