From cea3b9b1e2c0b804892e16d190f3603a2a044e06 Mon Sep 17 00:00:00 2001 From: Shawn8901 Date: Sun, 13 Jul 2025 23:57:16 +0200 Subject: [PATCH] nixos/victorialogs: add integration test with vlagent --- nixos/tests/all-tests.nix | 2 +- nixos/tests/victorialogs/default.nix | 5 ++ .../local-write.nix} | 2 +- .../remote-write-with-vlagent.nix | 58 +++++++++++++++++++ 4 files changed, 65 insertions(+), 2 deletions(-) create mode 100644 nixos/tests/victorialogs/default.nix rename nixos/tests/{victorialogs.nix => victorialogs/local-write.nix} (94%) create mode 100644 nixos/tests/victorialogs/remote-write-with-vlagent.nix diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 82d53c0613c6..45781d6d3cd8 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -1547,7 +1547,7 @@ in vector = import ./vector { inherit runTest; }; velocity = runTest ./velocity.nix; vengi-tools = runTest ./vengi-tools.nix; - victorialogs = runTest ./victorialogs.nix; + victorialogs = import ./victorialogs { inherit runTest; }; victoriametrics = import ./victoriametrics { inherit runTest; }; vikunja = runTest ./vikunja.nix; virtualbox = handleTestOn [ "x86_64-linux" ] ./virtualbox.nix { }; diff --git a/nixos/tests/victorialogs/default.nix b/nixos/tests/victorialogs/default.nix new file mode 100644 index 000000000000..dff479d3d6a7 --- /dev/null +++ b/nixos/tests/victorialogs/default.nix @@ -0,0 +1,5 @@ +{ runTest }: +{ + local-write = runTest ./local-write.nix; + remote-write-with-vlagent = runTest ./remote-write-with-vlagent.nix; +} diff --git a/nixos/tests/victorialogs.nix b/nixos/tests/victorialogs/local-write.nix similarity index 94% rename from nixos/tests/victorialogs.nix rename to nixos/tests/victorialogs/local-write.nix index 9545b61c402f..894394e2365f 100644 --- a/nixos/tests/victorialogs.nix +++ b/nixos/tests/victorialogs/local-write.nix @@ -1,6 +1,6 @@ { lib, ... }: { - name = "victorialogs"; + name = "victorialogs-local-write"; meta.maintainers = with lib.maintainers; [ marie ]; nodes.machine = diff --git a/nixos/tests/victorialogs/remote-write-with-vlagent.nix b/nixos/tests/victorialogs/remote-write-with-vlagent.nix new file mode 100644 index 000000000000..e2bdc395d20e --- /dev/null +++ b/nixos/tests/victorialogs/remote-write-with-vlagent.nix @@ -0,0 +1,58 @@ +{ lib, pkgs, ... }: +let + + username = "vltest"; + password = "rUceu1W41U"; # random string + passwordFile = pkgs.writeText "password-file" password; +in +{ + name = "victorialogs-remote-write-with-vlagent"; + meta.maintainers = [ lib.maintainers.shawn8901 ]; + + nodes.server = + { pkgs, ... }: + { + networking.firewall.allowedTCPPorts = [ 9428 ]; + services.victorialogs = { + enable = true; + basicAuthUsername = username; + basicAuthPasswordFile = toString passwordFile; + }; + }; + + nodes.client = + { pkgs, ... }: + { + services.vlagent = { + enable = true; + remoteWrite = { + url = "http://server:9428/internal/insert"; + basicAuthUsername = username; + basicAuthPasswordFile = toString passwordFile; + }; + }; + + services.journald.upload = { + enable = true; + settings = { + Upload.URL = "http://localhost:9429/insert/journald"; + }; + }; + environment.systemPackages = [ pkgs.curl ]; + + }; + + testScript = '' + server.wait_for_unit("victorialogs.service") + server.wait_for_open_port(9428) + + client.wait_for_unit("vlagent") + client.wait_for_open_port(9429) + + client.wait_for_unit("systemd-journal-upload") + + client.succeed("echo 'meow' | systemd-cat -p info") + + server.wait_until_succeeds("curl -u ${username}:${password} --fail http://localhost:9428/select/logsql/query -d 'query=\"meow\"' | grep meow") + ''; +}