aboutsummaryrefslogtreecommitdiff
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)
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 9826b56b74d7..676183f6356f 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;