summaryrefslogtreecommitdiffstats
path: root/nixos/tests/icingaweb2.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixos/tests/icingaweb2.nix')
-rw-r--r--nixos/tests/icingaweb2.nix71
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");
+ '';
+})