diff options
Diffstat (limited to 'nixos/tests/icingaweb2.nix')
-rw-r--r-- | nixos/tests/icingaweb2.nix | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/nixos/tests/icingaweb2.nix b/nixos/tests/icingaweb2.nix new file mode 100644 index 000000000000..ea1b94c526b1 --- /dev/null +++ b/nixos/tests/icingaweb2.nix @@ -0,0 +1,71 @@ +import ./make-test.nix ({ pkgs, ... }: { + name = "icingaweb2"; + meta = with pkgs.stdenv.lib.maintainers; { + maintainers = [ das_j ]; + }; + + nodes = { + icingaweb2 = { config, pkgs, ... }: { + services.icingaweb2 = { + enable = true; + + modulePackages = with pkgs.icingaweb2Modules; { + particles = theme-particles; + spring = theme-spring; + }; + + modules = { + doc.enable = true; + migrate.enable = true; + setup.enable = true; + test.enable = true; + translation.enable = true; + }; + + generalConfig = { + global = { + module_path = "${pkgs.icingaweb2}/modules"; + }; + }; + + authentications = { + icingaweb = { + backend = "external"; + }; + }; + + groupBackends = { + icingaweb = { + backend = "db"; + resource = "icingaweb_db"; + }; + }; + + resources = { + # Not used, so no DB server needed + icingaweb_db = { + type = "db"; + db = "mysql"; + host = "localhost"; + username = "icingaweb2"; + password = "icingaweb2"; + dbname = "icingaweb2"; + }; + }; + + roles = { + Administrators = { + users = "*"; + permissions = "*"; + }; + }; + }; + }; + }; + + testScript = '' + startAll(); + $icingaweb2->waitForUnit("multi-user.target"); + $icingaweb2->succeed("curl -sSf http://icingaweb2/authentication/login"); + ''; +}) |