From a19f960ac5f34eb97bc53d4afafb5e7eb1568838 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Tue, 17 Jun 2025 18:49:26 +0200 Subject: [PATCH] admin: migrate to clan.nixosTests module --- clanServices/admin/flake-module.nix | 19 ++++--- clanServices/admin/tests/vm/default.nix | 73 ++++++++++--------------- 2 files changed, 38 insertions(+), 54 deletions(-) diff --git a/clanServices/admin/flake-module.nix b/clanServices/admin/flake-module.nix index 154d41e43..bedd498e3 100644 --- a/clanServices/admin/flake-module.nix +++ b/clanServices/admin/flake-module.nix @@ -1,17 +1,18 @@ -{ lib, self, ... }: +{ lib, ... }: +let + module = lib.modules.importApply ./default.nix { }; +in { clan.modules = { - admin = lib.modules.importApply ./default.nix { }; + admin = module; }; 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") { }; - }; + clan.nixosTests.admin = { + imports = [ ./tests/vm/default.nix ]; + + clan.modules."@clan/admin" = module; }; }; } diff --git a/clanServices/admin/tests/vm/default.nix b/clanServices/admin/tests/vm/default.nix index 1cff69cff..1e8233cc2 100644 --- a/clanServices/admin/tests/vm/default.nix +++ b/clanServices/admin/tests/vm/default.nix @@ -1,62 +1,45 @@ -{ - pkgs, - nixosLib, - clan-core, - ... -}: - let public-key = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAII6zj7ubTg6z/aDwRNwvM/WlQdUocMprQ8E92NWxl6t+ test@test"; in -nixosLib.runTest ( - { ... }: - { - imports = [ - clan-core.modules.nixosVmTest.clanTest - ]; +{ + name = "admin"; - hostPkgs = pkgs; + clan = { + directory = ./.; + inventory = { - name = "admin"; + machines.client = { }; + machines.server = { }; - clan = { - directory = ./.; - modules."@clan/admin" = ../../default.nix; - inventory = { - - machines.client = { }; - machines.server = { }; - - instances = { - ssh-test-one = { - module.name = "@clan/admin"; - roles.default.machines."server".settings = { - allowedKeys.testkey = public-key; - }; + instances = { + ssh-test-one = { + module.name = "@clan/admin"; + roles.default.machines."server".settings = { + allowedKeys.testkey = public-key; }; }; }; }; + }; - nodes = { - client.environment.etc.private-test-key.source = ./private-test-key; + nodes = { + client.environment.etc.private-test-key.source = ./private-test-key; - server = { - services.openssh.enable = true; - }; + server = { + services.openssh.enable = true; }; + }; - testScript = '' - start_all() + testScript = '' + start_all() - machines = [client, server] - for m in machines: - m.systemctl("start network-online.target") + machines = [client, server] + for m in machines: + m.systemctl("start network-online.target") - for m in machines: - m.wait_for_unit("network-online.target") + for m in machines: + m.wait_for_unit("network-online.target") - client.succeed(f"ssh -F /dev/null -i /etc/private-test-key -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o BatchMode=yes root@server true &>/dev/null") - ''; - } -) + client.succeed(f"ssh -F /dev/null -i /etc/private-test-key -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o BatchMode=yes root@server true &>/dev/null") + ''; +}