From 8e2f308cc4e7495977c251c68d7102a1e576b786 Mon Sep 17 00:00:00 2001 From: a-kenji Date: Mon, 9 Jun 2025 13:01:48 +0200 Subject: [PATCH] clanServices: Move admin test to appropriate location Move the admin clanService test to the admin clan service. The tests should live close to the definition of the service, so that debugging and discoverability is better. --- checks/flake-module.nix | 1 - clanServices/admin/flake-module.nix | 13 ++++++++++++- .../admin/tests/vm}/default.nix | 2 +- .../admin/tests/vm}/private-test-key | 0 .../admin/tests/vm}/sops/machines/server/key.json | 0 .../tests/vm}/sops/secrets/server-age.key/secret | 0 .../vm}/sops/secrets/server-age.key/users/admin | 0 .../admin/tests/vm}/sops/users/admin/key.json | 0 .../server/openssh/ssh.id_ed25519.pub/value | 0 .../server/openssh/ssh.id_ed25519/machines/server | 0 .../server/openssh/ssh.id_ed25519/secret | 0 .../server/openssh/ssh.id_ed25519/users/admin | 0 .../root-password/password-hash/machines/server | 0 .../server/root-password/password-hash/secret | 0 .../server/root-password/password-hash/users/admin | 0 .../server/root-password/password/secret | 0 .../server/root-password/password/users/admin | 0 17 files changed, 13 insertions(+), 3 deletions(-) rename {checks/admin => clanServices/admin/tests/vm}/default.nix (94%) rename {checks/admin => clanServices/admin/tests/vm}/private-test-key (100%) rename {checks/admin => clanServices/admin/tests/vm}/sops/machines/server/key.json (100%) rename {checks/admin => clanServices/admin/tests/vm}/sops/secrets/server-age.key/secret (100%) rename {checks/admin => clanServices/admin/tests/vm}/sops/secrets/server-age.key/users/admin (100%) rename {checks/admin => clanServices/admin/tests/vm}/sops/users/admin/key.json (100%) rename {checks/admin => clanServices/admin/tests/vm}/vars/per-machine/server/openssh/ssh.id_ed25519.pub/value (100%) rename {checks/admin => clanServices/admin/tests/vm}/vars/per-machine/server/openssh/ssh.id_ed25519/machines/server (100%) rename {checks/admin => clanServices/admin/tests/vm}/vars/per-machine/server/openssh/ssh.id_ed25519/secret (100%) rename {checks/admin => clanServices/admin/tests/vm}/vars/per-machine/server/openssh/ssh.id_ed25519/users/admin (100%) rename {checks/admin => clanServices/admin/tests/vm}/vars/per-machine/server/root-password/password-hash/machines/server (100%) rename {checks/admin => clanServices/admin/tests/vm}/vars/per-machine/server/root-password/password-hash/secret (100%) rename {checks/admin => clanServices/admin/tests/vm}/vars/per-machine/server/root-password/password-hash/users/admin (100%) rename {checks/admin => clanServices/admin/tests/vm}/vars/per-machine/server/root-password/password/secret (100%) rename {checks/admin => clanServices/admin/tests/vm}/vars/per-machine/server/root-password/password/users/admin (100%) diff --git a/checks/flake-module.nix b/checks/flake-module.nix index 68fbb8824..15b89a2df 100644 --- a/checks/flake-module.nix +++ b/checks/flake-module.nix @@ -52,7 +52,6 @@ in # Clan Tests dummy-inventory-test = import ./dummy-inventory-test nixosTestArgs; - admin = import ./admin nixosTestArgs; borgbackup = import ./borgbackup nixosTestArgs; data-mesher = import ./data-mesher nixosTestArgs; syncthing = import ./syncthing nixosTestArgs; diff --git a/clanServices/admin/flake-module.nix b/clanServices/admin/flake-module.nix index 2fde00b13..154d41e43 100644 --- a/clanServices/admin/flake-module.nix +++ b/clanServices/admin/flake-module.nix @@ -1,6 +1,17 @@ -{ lib, ... }: +{ lib, self, ... }: { clan.modules = { admin = lib.modules.importApply ./default.nix { }; }; + perSystem = + { pkgs, ... }: + { + checks = lib.optionalAttrs (pkgs.stdenv.isLinux) { + admin = import ./tests/vm/default.nix { + inherit pkgs; + clan-core = self; + nixosLib = import (self.inputs.nixpkgs + "/nixos/lib") { }; + }; + }; + }; } diff --git a/checks/admin/default.nix b/clanServices/admin/tests/vm/default.nix similarity index 94% rename from checks/admin/default.nix rename to clanServices/admin/tests/vm/default.nix index e56cb2084..1cff69cff 100644 --- a/checks/admin/default.nix +++ b/clanServices/admin/tests/vm/default.nix @@ -21,7 +21,7 @@ nixosLib.runTest ( clan = { directory = ./.; - modules."@clan/admin" = ../../clanServices/admin/default.nix; + modules."@clan/admin" = ../../default.nix; inventory = { machines.client = { }; diff --git a/checks/admin/private-test-key b/clanServices/admin/tests/vm/private-test-key similarity index 100% rename from checks/admin/private-test-key rename to clanServices/admin/tests/vm/private-test-key diff --git a/checks/admin/sops/machines/server/key.json b/clanServices/admin/tests/vm/sops/machines/server/key.json similarity index 100% rename from checks/admin/sops/machines/server/key.json rename to clanServices/admin/tests/vm/sops/machines/server/key.json diff --git a/checks/admin/sops/secrets/server-age.key/secret b/clanServices/admin/tests/vm/sops/secrets/server-age.key/secret similarity index 100% rename from checks/admin/sops/secrets/server-age.key/secret rename to clanServices/admin/tests/vm/sops/secrets/server-age.key/secret diff --git a/checks/admin/sops/secrets/server-age.key/users/admin b/clanServices/admin/tests/vm/sops/secrets/server-age.key/users/admin similarity index 100% rename from checks/admin/sops/secrets/server-age.key/users/admin rename to clanServices/admin/tests/vm/sops/secrets/server-age.key/users/admin diff --git a/checks/admin/sops/users/admin/key.json b/clanServices/admin/tests/vm/sops/users/admin/key.json similarity index 100% rename from checks/admin/sops/users/admin/key.json rename to clanServices/admin/tests/vm/sops/users/admin/key.json diff --git a/checks/admin/vars/per-machine/server/openssh/ssh.id_ed25519.pub/value b/clanServices/admin/tests/vm/vars/per-machine/server/openssh/ssh.id_ed25519.pub/value similarity index 100% rename from checks/admin/vars/per-machine/server/openssh/ssh.id_ed25519.pub/value rename to clanServices/admin/tests/vm/vars/per-machine/server/openssh/ssh.id_ed25519.pub/value diff --git a/checks/admin/vars/per-machine/server/openssh/ssh.id_ed25519/machines/server b/clanServices/admin/tests/vm/vars/per-machine/server/openssh/ssh.id_ed25519/machines/server similarity index 100% rename from checks/admin/vars/per-machine/server/openssh/ssh.id_ed25519/machines/server rename to clanServices/admin/tests/vm/vars/per-machine/server/openssh/ssh.id_ed25519/machines/server diff --git a/checks/admin/vars/per-machine/server/openssh/ssh.id_ed25519/secret b/clanServices/admin/tests/vm/vars/per-machine/server/openssh/ssh.id_ed25519/secret similarity index 100% rename from checks/admin/vars/per-machine/server/openssh/ssh.id_ed25519/secret rename to clanServices/admin/tests/vm/vars/per-machine/server/openssh/ssh.id_ed25519/secret diff --git a/checks/admin/vars/per-machine/server/openssh/ssh.id_ed25519/users/admin b/clanServices/admin/tests/vm/vars/per-machine/server/openssh/ssh.id_ed25519/users/admin similarity index 100% rename from checks/admin/vars/per-machine/server/openssh/ssh.id_ed25519/users/admin rename to clanServices/admin/tests/vm/vars/per-machine/server/openssh/ssh.id_ed25519/users/admin diff --git a/checks/admin/vars/per-machine/server/root-password/password-hash/machines/server b/clanServices/admin/tests/vm/vars/per-machine/server/root-password/password-hash/machines/server similarity index 100% rename from checks/admin/vars/per-machine/server/root-password/password-hash/machines/server rename to clanServices/admin/tests/vm/vars/per-machine/server/root-password/password-hash/machines/server diff --git a/checks/admin/vars/per-machine/server/root-password/password-hash/secret b/clanServices/admin/tests/vm/vars/per-machine/server/root-password/password-hash/secret similarity index 100% rename from checks/admin/vars/per-machine/server/root-password/password-hash/secret rename to clanServices/admin/tests/vm/vars/per-machine/server/root-password/password-hash/secret diff --git a/checks/admin/vars/per-machine/server/root-password/password-hash/users/admin b/clanServices/admin/tests/vm/vars/per-machine/server/root-password/password-hash/users/admin similarity index 100% rename from checks/admin/vars/per-machine/server/root-password/password-hash/users/admin rename to clanServices/admin/tests/vm/vars/per-machine/server/root-password/password-hash/users/admin diff --git a/checks/admin/vars/per-machine/server/root-password/password/secret b/clanServices/admin/tests/vm/vars/per-machine/server/root-password/password/secret similarity index 100% rename from checks/admin/vars/per-machine/server/root-password/password/secret rename to clanServices/admin/tests/vm/vars/per-machine/server/root-password/password/secret diff --git a/checks/admin/vars/per-machine/server/root-password/password/users/admin b/clanServices/admin/tests/vm/vars/per-machine/server/root-password/password/users/admin similarity index 100% rename from checks/admin/vars/per-machine/server/root-password/password/users/admin rename to clanServices/admin/tests/vm/vars/per-machine/server/root-password/password/users/admin