nixos/tests/prometheus-exporters: nixpkgs-fmt
This commit is contained in:
parent
da858b16b8
commit
d3fe53a8a6
@ -1,5 +1,5 @@
|
|||||||
{ system ? builtins.currentSystem
|
{ system ? builtins.currentSystem
|
||||||
, config ? {}
|
, config ? { }
|
||||||
, pkgs ? import ../.. { inherit system config; }
|
, pkgs ? import ../.. { inherit system config; }
|
||||||
}:
|
}:
|
||||||
|
|
||||||
@ -8,7 +8,7 @@ let
|
|||||||
inherit (pkgs.lib) concatStringsSep maintainers mapAttrs mkMerge
|
inherit (pkgs.lib) concatStringsSep maintainers mapAttrs mkMerge
|
||||||
removeSuffix replaceChars singleton splitString;
|
removeSuffix replaceChars singleton splitString;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The attrset `exporterTests` contains one attribute
|
* The attrset `exporterTests` contains one attribute
|
||||||
* for each exporter test. Each of these attributes
|
* for each exporter test. Each of these attributes
|
||||||
* is expected to be an attrset containing:
|
* is expected to be an attrset containing:
|
||||||
@ -188,7 +188,8 @@ let
|
|||||||
"plugin":"testplugin",
|
"plugin":"testplugin",
|
||||||
"time":DATE
|
"time":DATE
|
||||||
}]
|
}]
|
||||||
''; in ''
|
''; in
|
||||||
|
''
|
||||||
wait_for_unit("prometheus-collectd-exporter.service")
|
wait_for_unit("prometheus-collectd-exporter.service")
|
||||||
wait_for_open_port(9103)
|
wait_for_open_port(9103)
|
||||||
succeed(
|
succeed(
|
||||||
@ -254,7 +255,8 @@ let
|
|||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
fritzbox = { # TODO add proper test case
|
fritzbox = {
|
||||||
|
# TODO add proper test case
|
||||||
exporterConfig = {
|
exporterConfig = {
|
||||||
enable = true;
|
enable = true;
|
||||||
};
|
};
|
||||||
@ -407,14 +409,14 @@ let
|
|||||||
configuration = {
|
configuration = {
|
||||||
monitoringInterval = "2s";
|
monitoringInterval = "2s";
|
||||||
mailCheckTimeout = "10s";
|
mailCheckTimeout = "10s";
|
||||||
servers = [ {
|
servers = [{
|
||||||
name = "testserver";
|
name = "testserver";
|
||||||
server = "localhost";
|
server = "localhost";
|
||||||
port = 25;
|
port = 25;
|
||||||
from = "mail-exporter@localhost";
|
from = "mail-exporter@localhost";
|
||||||
to = "mail-exporter@localhost";
|
to = "mail-exporter@localhost";
|
||||||
detectionDir = "/var/spool/mail/mail-exporter/new";
|
detectionDir = "/var/spool/mail/mail-exporter/new";
|
||||||
} ];
|
}];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
metricProvider = {
|
metricProvider = {
|
||||||
@ -516,9 +518,11 @@ let
|
|||||||
url = "http://localhost";
|
url = "http://localhost";
|
||||||
};
|
};
|
||||||
metricProvider = {
|
metricProvider = {
|
||||||
systemd.services.nc-pwfile = let
|
systemd.services.nc-pwfile =
|
||||||
|
let
|
||||||
passfile = (pkgs.writeText "pwfile" "snakeoilpw");
|
passfile = (pkgs.writeText "pwfile" "snakeoilpw");
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
requiredBy = [ "prometheus-nextcloud-exporter.service" ];
|
requiredBy = [ "prometheus-nextcloud-exporter.service" ];
|
||||||
before = [ "prometheus-nextcloud-exporter.service" ];
|
before = [ "prometheus-nextcloud-exporter.service" ];
|
||||||
serviceConfig.ExecStart = ''
|
serviceConfig.ExecStart = ''
|
||||||
@ -581,7 +585,7 @@ let
|
|||||||
syslog = {
|
syslog = {
|
||||||
listen_address = "udp://127.0.0.1:10000";
|
listen_address = "udp://127.0.0.1:10000";
|
||||||
format = "rfc3164";
|
format = "rfc3164";
|
||||||
tags = ["nginx"];
|
tags = [ "nginx" ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@ -701,10 +705,10 @@ let
|
|||||||
exporterConfig = {
|
exporterConfig = {
|
||||||
enable = true;
|
enable = true;
|
||||||
group = "openvpn";
|
group = "openvpn";
|
||||||
statusPaths = ["/run/openvpn-test"];
|
statusPaths = [ "/run/openvpn-test" ];
|
||||||
};
|
};
|
||||||
metricProvider = {
|
metricProvider = {
|
||||||
users.groups.openvpn = {};
|
users.groups.openvpn = { };
|
||||||
services.openvpn.servers.test = {
|
services.openvpn.servers.test = {
|
||||||
config = ''
|
config = ''
|
||||||
dev tun
|
dev tun
|
||||||
@ -824,8 +828,9 @@ let
|
|||||||
};
|
};
|
||||||
metricProvider = {
|
metricProvider = {
|
||||||
# Mock rtl_433 binary to return a dummy metric stream.
|
# Mock rtl_433 binary to return a dummy metric stream.
|
||||||
nixpkgs.overlays = [ (self: super: {
|
nixpkgs.overlays = [
|
||||||
rtl_433 = self.runCommand "rtl_433" {} ''
|
(self: super: {
|
||||||
|
rtl_433 = self.runCommand "rtl_433" { } ''
|
||||||
mkdir -p "$out/bin"
|
mkdir -p "$out/bin"
|
||||||
cat <<EOF > "$out/bin/rtl_433"
|
cat <<EOF > "$out/bin/rtl_433"
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
@ -836,7 +841,8 @@ let
|
|||||||
EOF
|
EOF
|
||||||
chmod +x "$out/bin/rtl_433"
|
chmod +x "$out/bin/rtl_433"
|
||||||
'';
|
'';
|
||||||
}) ];
|
})
|
||||||
|
];
|
||||||
};
|
};
|
||||||
exporterTest = ''
|
exporterTest = ''
|
||||||
wait_for_unit("prometheus-rtl_433-exporter.service")
|
wait_for_unit("prometheus-rtl_433-exporter.service")
|
||||||
@ -852,7 +858,7 @@ let
|
|||||||
smokeping = {
|
smokeping = {
|
||||||
exporterConfig = {
|
exporterConfig = {
|
||||||
enable = true;
|
enable = true;
|
||||||
hosts = ["127.0.0.1"];
|
hosts = [ "127.0.0.1" ];
|
||||||
};
|
};
|
||||||
exporterTest = ''
|
exporterTest = ''
|
||||||
wait_for_unit("prometheus-smokeping-exporter.service")
|
wait_for_unit("prometheus-smokeping-exporter.service")
|
||||||
@ -990,7 +996,7 @@ let
|
|||||||
unifi-poller = {
|
unifi-poller = {
|
||||||
nodeName = "unifi_poller";
|
nodeName = "unifi_poller";
|
||||||
exporterConfig.enable = true;
|
exporterConfig.enable = true;
|
||||||
exporterConfig.controllers = [ { } ];
|
exporterConfig.controllers = [{ }];
|
||||||
exporterTest = ''
|
exporterTest = ''
|
||||||
wait_for_unit("prometheus-unifi-poller-exporter.service")
|
wait_for_unit("prometheus-unifi-poller-exporter.service")
|
||||||
wait_for_open_port(9130)
|
wait_for_open_port(9130)
|
||||||
@ -1052,7 +1058,8 @@ let
|
|||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
wireguard = let snakeoil = import ./wireguard/snakeoil-keys.nix; in {
|
wireguard = let snakeoil = import ./wireguard/snakeoil-keys.nix; in
|
||||||
|
{
|
||||||
exporterConfig.enable = true;
|
exporterConfig.enable = true;
|
||||||
metricProvider = {
|
metricProvider = {
|
||||||
networking.wireguard.interfaces.wg0 = {
|
networking.wireguard.interfaces.wg0 = {
|
||||||
@ -1079,15 +1086,18 @@ let
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
mapAttrs (exporter: testConfig: (makeTest (let
|
mapAttrs
|
||||||
|
(exporter: testConfig: (makeTest (
|
||||||
|
let
|
||||||
nodeName = testConfig.nodeName or exporter;
|
nodeName = testConfig.nodeName or exporter;
|
||||||
|
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
name = "prometheus-${exporter}-exporter";
|
name = "prometheus-${exporter}-exporter";
|
||||||
|
|
||||||
nodes.${nodeName} = mkMerge [{
|
nodes.${nodeName} = mkMerge [{
|
||||||
services.prometheus.exporters.${exporter} = testConfig.exporterConfig;
|
services.prometheus.exporters.${exporter} = testConfig.exporterConfig;
|
||||||
} testConfig.metricProvider or {}];
|
} testConfig.metricProvider or { }];
|
||||||
|
|
||||||
testScript = ''
|
testScript = ''
|
||||||
${nodeName}.start()
|
${nodeName}.start()
|
||||||
@ -1102,4 +1112,6 @@ in {
|
|||||||
meta = with maintainers; {
|
meta = with maintainers; {
|
||||||
maintainers = [ willibutz elseym ];
|
maintainers = [ willibutz elseym ];
|
||||||
};
|
};
|
||||||
}))) exporterTests
|
}
|
||||||
|
)))
|
||||||
|
exporterTests
|
||||||
|
Loading…
x
Reference in New Issue
Block a user