From 68808ca7928f846b288ba75149756bab95a3151e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Tue, 17 Jun 2025 19:26:25 +0200 Subject: [PATCH] garage: migrate to clan.nixosTests module --- clanServices/garage/flake-module.nix | 19 ++-- clanServices/garage/tests/vm/default.nix | 129 +++++++++++------------ 2 files changed, 69 insertions(+), 79 deletions(-) diff --git a/clanServices/garage/flake-module.nix b/clanServices/garage/flake-module.nix index 515018419..21c34d0de 100644 --- a/clanServices/garage/flake-module.nix +++ b/clanServices/garage/flake-module.nix @@ -1,18 +1,19 @@ -{ lib, self, ... }: +{ lib, ... }: +let + module = lib.modules.importApply ./default.nix { }; +in { clan.modules = { - garage = lib.modules.importApply ./default.nix { }; + garage = module; }; perSystem = - { pkgs, ... }: + { ... }: { - checks = lib.optionalAttrs (pkgs.stdenv.isLinux) { - garage = import ./tests/vm/default.nix { - inherit pkgs; - clan-core = self; - nixosLib = import (self.inputs.nixpkgs + "/nixos/lib") { }; - }; + clan.nixosTests.garage = { + imports = [ ./tests/vm/default.nix ]; + + clan.modules."@clan/garage" = module; }; }; } diff --git a/clanServices/garage/tests/vm/default.nix b/clanServices/garage/tests/vm/default.nix index 7df983a19..deeca4ca7 100644 --- a/clanServices/garage/tests/vm/default.nix +++ b/clanServices/garage/tests/vm/default.nix @@ -1,87 +1,76 @@ { + module, pkgs, - nixosLib, - clan-core, ... }: -nixosLib.runTest ( - { ... }: - { - imports = [ - clan-core.modules.nixosVmTest.clanTest - ]; +{ + name = "garage"; - hostPkgs = pkgs; + clan = { + directory = ./.; + inventory = { + machines.server = { }; - name = "garage"; + instances = { + garage-test = { + module.name = "@clan/garage"; + roles.default.machines."server".settings = { }; + }; + }; + }; + }; - clan = { - directory = ./.; - modules."@clan/garage" = ../../default.nix; - inventory = { - machines.server = { }; + nodes = { + server = { + services.garage = { + enable = true; + package = pkgs.garage; + settings = { - instances = { - garage-test = { - module.name = "@clan/garage"; - roles.default.machines."server".settings = { }; + metadata_dir = "/var/lib/garage/meta"; + data_dir = "/var/lib/garage/data"; + db_engine = "sqlite"; + + replication_factor = 1; + + rpc_bind_addr = "127.0.0.1:3901"; + + s3_api = { + api_bind_addr = "127.0.0.1:3900"; + s3_region = "garage"; + root_domain = ".s3.garage"; + }; + + s3_web = { + bind_addr = "127.0.0.1:3902"; + root_domain = ".web.garage"; + }; + + admin = { + api_bind_addr = "127.0.0.1:3903"; }; }; }; }; + }; - nodes = { - server = { - services.garage = { - enable = true; - package = pkgs.garage; - settings = { + testScript = '' + start_all() - metadata_dir = "/var/lib/garage/meta"; - data_dir = "/var/lib/garage/data"; - db_engine = "sqlite"; + server.wait_for_unit("network-online.target") + server.wait_for_unit("garage") - replication_factor = 1; + # Check that garage is running + server.succeed("systemctl status garage") - rpc_bind_addr = "127.0.0.1:3901"; + # Check that the data directories exist + server.succeed("test -d /var/lib/garage/meta") + server.succeed("test -d /var/lib/garage/data") - s3_api = { - api_bind_addr = "127.0.0.1:3900"; - s3_region = "garage"; - root_domain = ".s3.garage"; - }; - - s3_web = { - bind_addr = "127.0.0.1:3902"; - root_domain = ".web.garage"; - }; - - admin = { - api_bind_addr = "127.0.0.1:3903"; - }; - }; - }; - }; - }; - - testScript = '' - start_all() - - server.wait_for_unit("network-online.target") - server.wait_for_unit("garage") - - # Check that garage is running - server.succeed("systemctl status garage") - - # Check that the data directories exist - server.succeed("test -d /var/lib/garage/meta") - server.succeed("test -d /var/lib/garage/data") - - # Check that the ports are open to confirm that garage is running - server.wait_until_succeeds("${pkgs.netcat}/bin/nc -z -v 127.0.0.1 3901") - server.succeed("${pkgs.netcat}/bin/nc -z -v 127.0.0.1 3900") - server.succeed("${pkgs.netcat}/bin/nc -z -v 127.0.0.1 3902") - server.succeed("${pkgs.netcat}/bin/nc -z -v 127.0.0.1 3903") - ''; - } -) + # Check that the ports are open to confirm that garage is running + server.wait_until_succeeds("${pkgs.netcat}/bin/nc -z -v 127.0.0.1 3901") + server.succeed("${pkgs.netcat}/bin/nc -z -v 127.0.0.1 3900") + server.succeed("${pkgs.netcat}/bin/nc -z -v 127.0.0.1 3902") + server.succeed("${pkgs.netcat}/bin/nc -z -v 127.0.0.1 3903") + ''; +}