import ./make-test-python.nix ({ pkgs, ...} : { name = "telegraf"; meta = with pkgs.lib.maintainers; { maintainers = [ mic92 ]; }; nodes.machine = { ... }: { services.telegraf.enable = true; services.telegraf.environmentFiles = [(pkgs.writeText "secrets" '' SECRET=example '')]; services.telegraf.extraConfig = { agent.interval = "1s"; agent.flush_interval = "1s"; inputs.exec = { commands = [ "${pkgs.runtimeShell} -c 'echo $SECRET,tag=a i=42i'" ]; timeout = "5s"; data_format = "influx"; }; inputs.ping = { urls = ["127.0.0.1"]; count = 4; interval = "10s"; timeout = 1.0; }; outputs.file.files = ["/tmp/metrics.out"]; outputs.file.data_format = "influx"; }; }; testScript = '' start_all() machine.wait_for_unit("telegraf.service") machine.wait_until_succeeds("grep -q example /tmp/metrics.out") machine.wait_until_succeeds("grep -q ping /tmp/metrics.out") ''; })