at master 998 B view raw
1{ lib, pkgs, ... }: 2 3{ 4 name = "vector-api"; 5 meta.maintainers = [ pkgs.lib.maintainers.happysalada ]; 6 7 nodes.machineapi = 8 { config, pkgs, ... }: 9 { 10 services.vector = { 11 enable = true; 12 journaldAccess = false; 13 settings = { 14 api.enabled = true; 15 16 sources = { 17 demo_logs = { 18 type = "demo_logs"; 19 format = "json"; 20 }; 21 }; 22 23 sinks = { 24 file = { 25 type = "file"; 26 inputs = [ "demo_logs" ]; 27 path = "/var/lib/vector/logs.log"; 28 encoding = { 29 codec = "json"; 30 }; 31 }; 32 }; 33 }; 34 }; 35 }; 36 37 testScript = '' 38 machineapi.wait_for_unit("vector") 39 machineapi.wait_for_open_port(8686) 40 machineapi.succeed("journalctl -o cat -u vector.service | grep 'API server running'") 41 machineapi.wait_until_succeeds("curl -sSf http://localhost:8686/health") 42 ''; 43}