diff --git a/checks/dummy-inventory-test/default.nix b/checks/dummy-inventory-test/default.nix index 582a0e1af..7691c80c4 100644 --- a/checks/dummy-inventory-test/default.nix +++ b/checks/dummy-inventory-test/default.nix @@ -1,6 +1,10 @@ (import ../lib/test-inventory.nix) ( { ... }: { + # This tests the compatibility of the inventory + # With the test framework + # - legacy-modules + # - clan.service modules name = "dummy-inventory-test"; inventory.directory = ./.; @@ -8,22 +12,52 @@ machines.peer1 = { }; machines.admin1 = { }; services = { - dummy-module.default = { + legacy-module.default = { roles.peer.machines = [ "peer1" ]; roles.admin.machines = [ "admin1" ]; }; }; + instances."test" = { + module.name = "new-service"; + roles.peer.machines.peer1 = { }; + }; + modules = { - dummy-module = ./dummy-module; + legacy-module = ./legacy-module; + new-service = { + _class = "clan.service"; + manifest.name = "new-service"; + roles.peer = {}; + perMachine = { + nixosModule = { + # This should be generated by: + # ./pkgs/scripts/update-vars.py inventory-test-framework-compatibility-test + clan.core.vars.generators.new-service = { + files.hello = { + secret = false; + deploy = true; + }; + script = '' + # This is a dummy script that does nothing + echo "This is a dummy script" > $out/hello + ''; + }; + }; + }; + }; }; }; - testScript = '' + testScript = { nodes, ...}: '' start_all() admin1.wait_for_unit("multi-user.target") peer1.wait_for_unit("multi-user.target") + # Provided by the legacy module print(admin1.succeed("systemctl status dummy-service")) print(peer1.succeed("systemctl status dummy-service")) + + # peer1 should have the 'hello' file + peer1.succeed("cat ${nodes.peer1.clan.core.vars.generators.new-service.files.hello.path}") ''; } ) diff --git a/checks/dummy-inventory-test/dummy-module/README.md b/checks/dummy-inventory-test/legacy-module/README.md similarity index 100% rename from checks/dummy-inventory-test/dummy-module/README.md rename to checks/dummy-inventory-test/legacy-module/README.md diff --git a/checks/dummy-inventory-test/dummy-module/roles/admin.nix b/checks/dummy-inventory-test/legacy-module/roles/admin.nix similarity index 100% rename from checks/dummy-inventory-test/dummy-module/roles/admin.nix rename to checks/dummy-inventory-test/legacy-module/roles/admin.nix diff --git a/checks/dummy-inventory-test/dummy-module/roles/peer.nix b/checks/dummy-inventory-test/legacy-module/roles/peer.nix similarity index 100% rename from checks/dummy-inventory-test/dummy-module/roles/peer.nix rename to checks/dummy-inventory-test/legacy-module/roles/peer.nix diff --git a/checks/dummy-inventory-test/dummy-module/shared.nix b/checks/dummy-inventory-test/legacy-module/shared.nix similarity index 100% rename from checks/dummy-inventory-test/dummy-module/shared.nix rename to checks/dummy-inventory-test/legacy-module/shared.nix