1import ./make-test-python.nix ({ pkgs, ...} : {
2 name = "telegraf";
3 meta = with pkgs.lib.maintainers; {
4 maintainers = [ mic92 ];
5 };
6
7 nodes.machine = { ... }: {
8 services.telegraf.enable = true;
9 services.telegraf.environmentFiles = [(pkgs.writeText "secrets" ''
10 SECRET=example
11 '')];
12 services.telegraf.extraConfig = {
13 agent.interval = "1s";
14 agent.flush_interval = "1s";
15 inputs.exec = {
16 commands = [
17 "${pkgs.runtimeShell} -c 'echo $SECRET,tag=a i=42i'"
18 ];
19 timeout = "5s";
20 data_format = "influx";
21 };
22 outputs.file.files = ["/tmp/metrics.out"];
23 outputs.file.data_format = "influx";
24 };
25 };
26
27 testScript = ''
28 start_all()
29
30 machine.wait_for_unit("telegraf.service")
31 machine.wait_until_succeeds("grep -q example /tmp/metrics.out")
32 '';
33})