nixos/thanos: Add check for serving gRPC port

This commit is contained in:
Jonathan Davies
2025-08-25 12:54:57 +00:00
parent c18a6a5817
commit f704eef1c3

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(