75c5a703ab
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
48 lines
1.4 KiB
Nix
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;
|
|
};
|
|
}
|