nixos/mimir: add test

This commit is contained in:
Jörg Thalheim 2022-05-28 22:07:34 +02:00 committed by Yt
parent 6497902407
commit a6cdcce08b
3 changed files with 56 additions and 1 deletions

View file

@ -170,6 +170,7 @@ in
frr = handleTest ./frr.nix {};
fsck = handleTest ./fsck.nix {};
ft2-clone = handleTest ./ft2-clone.nix {};
grafana-mimir = handleTest ./grafana-mimir.nix {};
gerrit = handleTest ./gerrit.nix {};
geth = handleTest ./geth.nix {};
ghostunnel = handleTest ./ghostunnel.nix {};

View file

@ -0,0 +1,50 @@
import ./make-test-python.nix ({ pkgs, ... }: {
name = "grafana-mimir";
nodes = {
server = { ... }: {
environment.systemPackages = [ pkgs.jq ];
services.mimir.enable = true;
services.mimir.configuration = {
ingester.ring.replication_factor = 1;
};
services.telegraf.enable = true;
services.telegraf.extraConfig = {
agent.interval = "1s";
agent.flush_interval = "1s";
inputs.exec = {
commands = [
"${pkgs.coreutils}/bin/echo 'foo i=42i'"
];
data_format = "influx";
};
outputs = {
http = {
# test remote write
url = "http://localhost:8080/api/v1/push";
# Data format to output.
data_format = "prometheusremotewrite";
headers = {
Content-Type = "application/x-protobuf";
Content-Encoding = "snappy";
X-Scope-OrgID = "nixos";
X-Prometheus-Remote-Write-Version = "0.1.0";
};
};
};
};
};
};
testScript = ''
start_all()
server.wait_for_unit("mimir.service")
server.wait_for_unit("telegraf.service")
server.wait_for_open_port(8080)
server.wait_until_succeeds(
"curl -H 'X-Scope-OrgID: nixos' http://127.0.0.1:8080/prometheus/api/v1/label/host/values | jq -r '.data[0]' | grep server"
)
'';
})

View file

@ -1,4 +1,4 @@
{ lib, buildGoModule, fetchFromGitHub }:
{ lib, buildGoModule, fetchFromGitHub, nixosTests }:
buildGoModule rec {
pname = "mimir";
version = "2.1.0";
@ -17,6 +17,10 @@ buildGoModule rec {
"cmd/mimirtool"
];
passthru.tests = {
inherit (nixosTests) grafana-mimir;
};
ldflags = let t = "github.com/grafana/mimir/pkg/util/version";
in [
''-extldflags "-static"''