diff options
Diffstat (limited to 'nixpkgs/pkgs/servers/monitoring/prometheus/wireguard-exporter.nix')
-rw-r--r-- | nixpkgs/pkgs/servers/monitoring/prometheus/wireguard-exporter.nix | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/servers/monitoring/prometheus/wireguard-exporter.nix b/nixpkgs/pkgs/servers/monitoring/prometheus/wireguard-exporter.nix new file mode 100644 index 000000000000..a1e9ee7f434e --- /dev/null +++ b/nixpkgs/pkgs/servers/monitoring/prometheus/wireguard-exporter.nix @@ -0,0 +1,32 @@ +{ stdenv, rustPlatform, fetchFromGitHub, lib, libiconv, Security, nixosTests }: + +rustPlatform.buildRustPackage rec { + pname = "wireguard-exporter"; + version = "3.6.6"; + + src = fetchFromGitHub { + owner = "MindFlavor"; + repo = "prometheus_wireguard_exporter"; + rev = version; + sha256 = "sha256-2e31ZuGJvpvu7L2Lb+n6bZWpC1JhETzEzSiNaxxsAtA="; + }; + + cargoSha256 = "sha256-NsxGpjuZPpz4gCJRp5IOcfRFh8DTud47nV2bE0/kc2Q="; + + postPatch = '' + # drop hardcoded linker names, fixing static build + rm .cargo/config.toml + ''; + + buildInputs = lib.optionals stdenv.isDarwin [ libiconv Security ]; + + passthru.tests = { inherit (nixosTests.prometheus-exporters) wireguard; }; + + meta = with lib; { + description = "A Prometheus exporter for WireGuard, written in Rust"; + homepage = "https://github.com/MindFlavor/prometheus_wireguard_exporter"; + license = licenses.mit; + maintainers = with maintainers; [ ma27 globin ]; + mainProgram = "prometheus_wireguard_exporter"; + }; +} |