about summary refs log tree commit diff
path: root/pkgs/servers/monitoring/prometheus/smokeping-prober.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/servers/monitoring/prometheus/smokeping-prober.nix')
-rw-r--r--pkgs/servers/monitoring/prometheus/smokeping-prober.nix43
1 files changed, 43 insertions, 0 deletions
diff --git a/pkgs/servers/monitoring/prometheus/smokeping-prober.nix b/pkgs/servers/monitoring/prometheus/smokeping-prober.nix
new file mode 100644
index 0000000000000..5e29e28e86cf6
--- /dev/null
+++ b/pkgs/servers/monitoring/prometheus/smokeping-prober.nix
@@ -0,0 +1,43 @@
+{ stdenv, buildGoModule, fetchFromGitHub, nixosTests }:
+
+let
+  inherit (stdenv) lib;
+  baseVersion = "0.3.1";
+  commit = "9ba85274dcc21bf8132cbe3b3dccfcb4aab57d9f";
+in
+buildGoModule rec {
+  pname = "smokeping_prober";
+  version = "${baseVersion}-g${commit}";
+
+  buildFlagsArray = let
+    setVars = {
+      Version = baseVersion;
+      Revision = commit;
+      Branch = commit;
+      BuildUser = "nix";
+    };
+    varFlags = lib.concatStringsSep " " (lib.mapAttrsToList (name: value: "-X github.com/prometheus/common/version.${name}=${value}") setVars);
+  in [
+    "-ldflags=${varFlags} -s -w"
+  ];
+
+  src = fetchFromGitHub {
+    rev = commit;
+    owner = "SuperQ";
+    repo = "smokeping_prober";
+    sha256 = "sha256:19596di2gzcvlcwiypsncq4zwbyb6d1r6wxsfi59wax3423i7ndg";
+  };
+  vendorSha256 = "sha256:1b2v3v3kn0m7dvjxbs8q0gw6zingksdqhm5g1frx0mymqk0lg889";
+
+  doCheck = true;
+
+  passthru.tests = { inherit (nixosTests.prometheus-exporters) smokeping; };
+
+  meta = with stdenv.lib; {
+    description = "Prometheus exporter for sending continual ICMP/UDP pings";
+    homepage = "https://github.com/SuperQ/smokeping_prober";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ lukegb ];
+    platforms = platforms.unix;
+  };
+}