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.
This commit is contained in:
Martin Weinelt 2024-01-14 02:17:28 +01:00
parent 08cdbf1b46
commit a9e9cb8cc6
No known key found for this signature in database
GPG Key ID: 87C1E9888F856759

View File

@ -1,4 +1,9 @@
{ buildGoModule, fetchFromGitHub, lib }:
{ buildGoModule
, fetchFromGitHub
, fetchpatch2
, lib
}:
buildGoModule rec {
pname = "prometheus-packet-sd";
version = "0.0.3";
@ -7,9 +12,23 @@ buildGoModule rec {
owner = "packethost";
repo = "prometheus-packet-sd";
rev = "v${version}";
sha256 = "sha256-2k8AsmyhQNNZCzpVt6JdgvI8IFb5pRi4ic6Yn2NqHMM=";
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 = [ "." ];