nixpkgs/pkgs/development/tools/packet-sd/default.nix
Martin Weinelt a9e9cb8cc6
packet-sd: backport outfile racyness/permission bugfix
The packet-sd exporter in version 0.0.3 creates a temporary file, moves
it to the target location and chmods it there. This creates a race
condition, in which Prometheus can be unable to read the file.

Additionally the outfile was created with too wide permissions (group-
and world-writable).

Both issues are resolved upstream, but not yet released.
2024-01-29 22:08:16 +01:00

44 lines
1.2 KiB
Nix

{ buildGoModule
, fetchFromGitHub
, fetchpatch2
, lib
}:
buildGoModule rec {
pname = "prometheus-packet-sd";
version = "0.0.3";
src = fetchFromGitHub {
owner = "packethost";
repo = "prometheus-packet-sd";
rev = "v${version}";
hash = "sha256-2k8AsmyhQNNZCzpVt6JdgvI8IFb5pRi4ic6Yn2NqHMM=";
};
patches = [
(fetchpatch2 {
# fix racy permissions on outfile
# https://github.com/packethost/prometheus-packet-sd/issues/15
url = "https://github.com/packethost/prometheus-packet-sd/commit/bf0ed3a1da4d0f797bd29e4a1857ac65a1d04750.patch";
hash = "sha256-ZLV9lyqZxpIQ1Cmzy/nY/85b4QWF5Ou0XcdrZXxck2E=";
})
(fetchpatch2 {
# restrict outfile to not be world/group writable
url = "https://github.com/packethost/prometheus-packet-sd/commit/a0afc2a4c3f49dc234d0d2c4901df25b4110b3ec.patch";
hash = "sha256-M5133+r77z21/Ulnbz+9sGbbuY5UpU1+22iY464UVAU=";
})
];
vendorHash = null;
subPackages = [ "." ];
meta = with lib; {
description = "Prometheus service discovery for Equinix Metal";
homepage = "https://github.com/packethost/prometheus-packet-sd";
license = licenses.asl20;
maintainers = [ ];
mainProgram = "prometheus-packet-sd";
};
}