nixpkgs/pkgs/servers/monitoring/prometheus/knot-exporter.nix
Maximilian Bosch 75c5a703ab
prometheus-knot-exporter: add patch to fix stats
This is a patch I filed against upstream[1] a while ago. As it isn't
merged yet and fixes configurations with all stats enabled in knot
(otherwise it'd crash when sending a request to `localhost:9433`), I
decided that it makes sense to add it to the package directly.

I extended the test to make sure that it only passes with this patch.

[1] https://github.com/ghedo/knot_exporter/pull/6
2021-05-03 17:27:36 +02:00

48 lines
1.4 KiB
Nix

{ stdenv, fetchFromGitHub, lib, python3, nixosTests, fetchpatch }:
stdenv.mkDerivation rec {
pname = "knot-exporter";
version = "unstable-2020-01-30";
src = fetchFromGitHub {
owner = "ghedo";
repo = "knot_exporter";
rev = "21dd46b401e0c1aea0b173e19462cdf89e1f444e";
sha256 = "sha256-4au4lpaq3jcqC2JXdCcf8h+YN8Nmm4eE0kZwA+1rWlc=";
};
patches = [
# Fixes a crash with all metrics enabled. See
# https://github.com/ghedo/knot_exporter/pull/6 for further context.
(fetchpatch {
url = "https://github.com/ghedo/knot_exporter/commit/2317476e080369450ae51a707ccd30d4b89d680f.patch";
sha256 = "sha256-yEPu8EE1V/draNx9DeMrPj+bMfJRxauweo33dITl4AA=";
})
];
dontBuild = true;
nativeBuildInputs = [ python3.pkgs.wrapPython ];
buildInputs = [ python3 ];
installPhase = ''
runHook preInstall
install -Dm0755 knot_exporter $out/bin/knot_exporter
patchShebangs $out/bin
buildPythonPath ${python3.pkgs.prometheus_client}
patchPythonScript $out/bin/knot_exporter
runHook postInstall
'';
passthru.tests = { inherit (nixosTests.prometheus-exporters) knot; };
meta = with lib; {
homepage = "https://github.com/ghedo/knot_exporter";
description = " Prometheus exporter for Knot DNS";
license = licenses.gpl3Only;
maintainers = with maintainers; [ ma27 ];
platforms = platforms.linux;
};
}