summary refs log tree commit diff
path: root/nixos/tests/prometheus-exporters.nix
diff options
context:
space:
mode:
authorWilliButz <wbutz@cyberfnord.de>2019-10-12 22:35:30 +0200
committerWilliButz <wbutz@cyberfnord.de>2019-10-12 23:17:49 +0200
commit91b2c844dffc2ee57dcf5121714d295652251f7c (patch)
treea258d2fb54af31af46edd2190012b90e1e8f676b /nixos/tests/prometheus-exporters.nix
parentd953d328ca9025c7e06a9acd0fe37e7ea341ed00 (diff)
downloadnixpkgs-91b2c844dffc2ee57dcf5121714d295652251f7c.tar
nixpkgs-91b2c844dffc2ee57dcf5121714d295652251f7c.tar.gz
nixpkgs-91b2c844dffc2ee57dcf5121714d295652251f7c.tar.bz2
nixpkgs-91b2c844dffc2ee57dcf5121714d295652251f7c.tar.lz
nixpkgs-91b2c844dffc2ee57dcf5121714d295652251f7c.tar.xz
nixpkgs-91b2c844dffc2ee57dcf5121714d295652251f7c.tar.zst
nixpkgs-91b2c844dffc2ee57dcf5121714d295652251f7c.zip
nixos/tests/prometheus-exporters: add nextcloud exporter
Diffstat (limited to 'nixos/tests/prometheus-exporters.nix')
-rw-r--r--nixos/tests/prometheus-exporters.nix34
1 files changed, 34 insertions, 0 deletions
diff --git a/nixos/tests/prometheus-exporters.nix b/nixos/tests/prometheus-exporters.nix
index 9826b56b74d..676183f6356 100644
--- a/nixos/tests/prometheus-exporters.nix
+++ b/nixos/tests/prometheus-exporters.nix
@@ -229,6 +229,40 @@ let
       '';
     };
 
+    nextcloud = {
+      exporterConfig = {
+        enable = true;
+        passwordFile = "/var/nextcloud-pwfile";
+        url = "http://localhost/negative-space.xml";
+      };
+      metricProvider = {
+        systemd.services.nc-pwfile = let
+          passfile = (pkgs.writeText "pwfile" "snakeoilpw");
+        in {
+          requiredBy = [ "prometheus-nextcloud-exporter.service" ];
+          before = [ "prometheus-nextcloud-exporter.service" ];
+          serviceConfig.ExecStart = ''
+            ${pkgs.coreutils}/bin/install -o nextcloud-exporter -m 0400 ${passfile} /var/nextcloud-pwfile
+          '';
+        };
+        services.nginx = {
+          enable = true;
+          virtualHosts."localhost" = {
+            basicAuth.nextcloud-exporter = "snakeoilpw";
+            locations."/" = {
+              root = "${pkgs.prometheus-nextcloud-exporter.src}/serverinfo/testdata";
+            };
+          };
+        };
+      };
+      exporterTest = ''
+        waitForUnit("nginx.service")
+        waitForUnit("prometheus-nextcloud-exporter.service")
+        waitForOpenPort(9205)
+        succeed("curl -sSf http://localhost:9205/metrics | grep -q 'nextcloud_up 1'")
+      '';
+    };
+
     nginx = {
       exporterConfig = {
         enable = true;