From 4b9e3868ebcb2e716b1f25efc4064eb075fa1f77 Mon Sep 17 00:00:00 2001 From: IndeedNotJames Date: Thu, 13 Apr 2023 10:43:01 +0200 Subject: [PATCH 1/4] grafana-agent: 0.30.2 -> 0.32.1 breaking: 0.31.0 renamed the binaries from `agent` and `agentctl` to `grafana-agent` and `grafana-agentctl` A follow-up commit patches `services.grafana-agent` to use `lib.getExe` instead of a hardcoded `/bin/agent`. This version bump will break `services.grafana-agent.package` on 22.11 when `cfg.package` is coming from unstable https://github.com/grafana/agent/releases/tag/v0.32.1 https://github.com/grafana/agent/releases/tag/v0.32.0 https://github.com/grafana/agent/releases/tag/v0.31.3 https://github.com/grafana/agent/releases/tag/v0.31.2 https://github.com/grafana/agent/releases/tag/v0.31.1 https://github.com/grafana/agent/releases/tag/v0.31.0 diff: https://github.com/grafana/agent/compare/v0.30.2...v0.32.1 --- pkgs/servers/monitoring/grafana-agent/default.nix | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/pkgs/servers/monitoring/grafana-agent/default.nix b/pkgs/servers/monitoring/grafana-agent/default.nix index c1d7d4fbd56..720689854e4 100644 --- a/pkgs/servers/monitoring/grafana-agent/default.nix +++ b/pkgs/servers/monitoring/grafana-agent/default.nix @@ -2,16 +2,17 @@ buildGoModule rec { pname = "grafana-agent"; - version = "0.30.2"; + version = "0.32.1"; src = fetchFromGitHub { rev = "v${version}"; owner = "grafana"; repo = "agent"; - sha256 = "sha256-yexCK4GBA997CShtuQQTs1GBsXoknUnWWO0Uotb9EG8="; + sha256 = "sha256-t5rQSNLpX0ktK4mKgX6OhNLkANQ1LbFEjmQo/r7UHOM="; }; - vendorHash = "sha256-Cl3oygH1RPF+ZdJvkDmr7eyU5daxaZwNE8pQOHK/qP4="; + vendorHash = "sha256-5beHG1mZkNcDhccleqTlMA+uiV5d6SSh2QWiL4g3O28="; + proxyVendor = true; # darwin/linux hash mismatch ldflags = let prefix = "github.com/grafana/agent/pkg/build"; @@ -32,8 +33,8 @@ buildGoModule rec { ]; subPackages = [ - "cmd/agent" - "cmd/agentctl" + "cmd/grafana-agent" + "cmd/grafana-agentctl" ]; # uses go-systemd, which uses libsystemd headers @@ -50,8 +51,8 @@ buildGoModule rec { # Add to RUNPATH so it can be found. postFixup = lib.optionalString stdenv.isLinux '' patchelf \ - --set-rpath "${lib.makeLibraryPath [ (lib.getLib systemd) ]}:$(patchelf --print-rpath $out/bin/agent)" \ - $out/bin/agent + --set-rpath "${lib.makeLibraryPath [ (lib.getLib systemd) ]}:$(patchelf --print-rpath $out/bin/grafana-agent)" \ + $out/bin/grafana-agent ''; passthru.tests.grafana-agent = nixosTests.grafana-agent; From bde538be9f588200fb958f455b1d3e8f50d500f4 Mon Sep 17 00:00:00 2001 From: IndeedNotJames Date: Thu, 13 Apr 2023 10:43:02 +0200 Subject: [PATCH 2/4] grafana-agent: remove obsolete test fix in `preBuild` hook as `node_exporter_test.go` does no longer need access to `/sys` --- pkgs/servers/monitoring/grafana-agent/default.nix | 5 ----- 1 file changed, 5 deletions(-) diff --git a/pkgs/servers/monitoring/grafana-agent/default.nix b/pkgs/servers/monitoring/grafana-agent/default.nix index 720689854e4..3f52dec41ff 100644 --- a/pkgs/servers/monitoring/grafana-agent/default.nix +++ b/pkgs/servers/monitoring/grafana-agent/default.nix @@ -41,11 +41,6 @@ buildGoModule rec { # https://github.com/coreos/go-systemd/issues/351 env.NIX_CFLAGS_COMPILE = toString (lib.optionals stdenv.isLinux [ "-I${lib.getDev systemd}/include" ]); - # tries to access /sys: https://github.com/grafana/agent/issues/333 - preBuild = '' - rm pkg/integrations/node_exporter/node_exporter_test.go - ''; - # go-systemd uses libsystemd under the hood, which does dlopen(libsystemd) at # runtime. # Add to RUNPATH so it can be found. From 845a6e97845d22be7a20b74b3d39a54e1d719b86 Mon Sep 17 00:00:00 2001 From: IndeedNotJames Date: Thu, 13 Apr 2023 10:43:02 +0200 Subject: [PATCH 3/4] nixos/grafana-agent: use `lib.getExe` as binary names changed between updates and `lib.getExe` allows a safe handling and potential backport of this. But for that to work it would require 22.11 to set `pkgs.grafana-agent.meta.mainProgram = "agent"` Relevant upstream release: https://github.com/grafana/agent/releases/tag/v0.31.0 --- nixos/modules/services/monitoring/grafana-agent.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/monitoring/grafana-agent.nix b/nixos/modules/services/monitoring/grafana-agent.nix index 270d888afb7..b7761c34fe5 100644 --- a/nixos/modules/services/monitoring/grafana-agent.nix +++ b/nixos/modules/services/monitoring/grafana-agent.nix @@ -140,7 +140,7 @@ in # We can't use Environment=HOSTNAME=%H, as it doesn't include the domain part. export HOSTNAME=$(< /proc/sys/kernel/hostname) - exec ${cfg.package}/bin/agent -config.expand-env -config.file ${configFile} + exec ${lib.getExe cfg.package} -config.expand-env -config.file ${configFile} ''; serviceConfig = { Restart = "always"; From 7275cfa79b375d7d05346fece5953e650a5dc3fd Mon Sep 17 00:00:00 2001 From: IndeedNotJames Date: Thu, 13 Apr 2023 10:43:02 +0200 Subject: [PATCH 4/4] grafana-agent: add indeednotjames as maintainer --- pkgs/servers/monitoring/grafana-agent/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/servers/monitoring/grafana-agent/default.nix b/pkgs/servers/monitoring/grafana-agent/default.nix index 3f52dec41ff..ccd7aaa9112 100644 --- a/pkgs/servers/monitoring/grafana-agent/default.nix +++ b/pkgs/servers/monitoring/grafana-agent/default.nix @@ -56,6 +56,6 @@ buildGoModule rec { description = "A lightweight subset of Prometheus and more, optimized for Grafana Cloud"; license = licenses.asl20; homepage = "https://grafana.com/products/cloud"; - maintainers = with maintainers; [ flokli ]; + maintainers = with maintainers; [ flokli indeednotjames ]; }; }