grpc-health-probe: init at 0.4.40 (#436778)

This commit is contained in:
Jacek Galowicz
2025-08-25 20:34:36 +02:00
committed by GitHub
2 changed files with 39 additions and 1 deletions
+12 -1
View File
@@ -42,7 +42,10 @@ in
{
virtualisation.diskSize = 2 * 1024;
virtualisation.memorySize = 2048;
environment.systemPackages = [ pkgs.jq ];
environment.systemPackages = [
pkgs.grpc-health-probe
pkgs.jq
];
networking.firewall.allowedTCPPorts = [ grpcPort ];
services.prometheus = {
enable = true;
@@ -178,6 +181,7 @@ in
virtualisation.diskSize = 2 * 1024;
virtualisation.memorySize = 2048;
environment.systemPackages = with pkgs; [
grpc-health-probe
jq
thanos
];
@@ -251,6 +255,13 @@ in
prometheus.wait_for_open_port(${toString queryPort})
prometheus.succeed("curl -sf http://127.0.0.1:${toString queryPort}/metrics")
prometheus.wait_until_succeeds("journalctl -o cat -u thanos-sidecar.service | grep 'listening for serving gRPC'")
store.wait_until_succeeds("journalctl -o cat -u thanos-store.service | grep 'listening for serving gRPC'")
for machine in prometheus, store:
machine.wait_until_succeeds("grpc-health-probe -addr 127.0.0.1:${toString grpcPort}")
# Let's test if pushing a metric to the pushgateway succeeds:
prometheus.wait_for_unit("pushgateway.service")
prometheus.succeed(
@@ -0,0 +1,27 @@
{
buildGoModule,
lib,
fetchFromGitHub,
}:
buildGoModule rec {
pname = "grpc-health-probe";
version = "0.4.40";
src = fetchFromGitHub {
owner = "grpc-ecosystem";
repo = "grpc-health-probe";
rev = "v${version}";
hash = "sha256-Na0y8fL109flHGJOniEpLgs60xf1V0YlSBrX9iHtymM=";
};
vendorHash = "sha256-eIjDs14PEzoVaRYoxN03pDfYzg4VF1tgskLY9oIkMLE=";
meta = with lib; {
description = "command-line tool to perform health-checks for gRPC applications";
homepage = "https://github.com/grpc-ecosystem/grpc-health-probe";
license = licenses.asl20;
maintainers = with maintainers; [ jpds ];
mainProgram = "grpc-health-probe";
};
}