at master 1.6 kB view raw
1# Regression test for https://github.com/NixOS/nixpkgs/pull/395128 2{ 3 name = "fluent-bit"; 4 nodes.machine = { 5 services.fluent-bit = { 6 enable = true; 7 settings = { 8 pipeline = { 9 inputs = [ 10 { 11 name = "systemd"; 12 systemd_filter = "_SYSTEMD_UNIT=fluent-bit-regression-395128.service"; 13 } 14 ]; 15 outputs = [ 16 { 17 name = "file"; 18 path = "/var/log/fluent-bit"; 19 file = "fluent-bit.out"; 20 } 21 ]; 22 }; 23 }; 24 }; 25 systemd.services.fluent-bit.serviceConfig.LogsDirectory = "fluent-bit"; 26 27 # Logs get compressed when larger than 1024 bytes 28 # Lets generate some logs that trigger that 29 # This causes libzstd to be dlopen'd by systemd which breaks fluent-bit 3.2.7+ 30 # https://www.freedesktop.org/software/systemd/man/latest/journald.conf.html#Compress= 31 systemd.services.fluent-bit-regression-395128 = { 32 serviceConfig = { 33 Type = "oneshot"; 34 RemainAfterExit = true; 35 }; 36 script = '' 37 for i in {1..20}; do 38 (head -c 1200 < /dev/zero | tr '\0' 'A') && echo 39 sleep 1 40 done 41 ''; 42 }; 43 }; 44 45 testScript = '' 46 start_all() 47 48 machine.wait_for_unit("fluent-bit.service") 49 50 with subtest("fluent-bit handles zstd-compressed journal logs"): 51 machine.succeed("systemctl start fluent-bit-regression-395128.service") 52 machine.succeed("systemctl show -p NRestarts fluent-bit.service | grep -q 'NRestarts=0'") 53 54 machine.wait_for_file("/var/log/fluent-bit/fluent-bit.out") 55 ''; 56}