Skip to content
Merged
2 changes: 1 addition & 1 deletion nixos/modules/services/databases/victorialogs.nix
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ in
{
options.services.victorialogs = {
enable = mkEnableOption "VictoriaLogs is an open source user-friendly database for logs from VictoriaMetrics";
package = mkPackageOption pkgs "victoriametrics" { };
package = mkPackageOption pkgs "victorialogs" { };
listenAddress = mkOption {
default = ":9428";
type = types.str;
Expand Down
1 change: 1 addition & 0 deletions nixos/tests/all-tests.nix
Original file line number Diff line number Diff line change
Expand Up @@ -1458,6 +1458,7 @@ in
vector = handleTest ./vector { };
velocity = runTest ./velocity.nix;
vengi-tools = handleTest ./vengi-tools.nix { };
victorialogs = runTest ./victorialogs.nix;
victoriametrics = handleTest ./victoriametrics { };
vikunja = handleTest ./vikunja.nix { };
virtualbox = handleTestOn [ "x86_64-linux" ] ./virtualbox.nix { };
Expand Down
26 changes: 26 additions & 0 deletions nixos/tests/victorialogs.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
{ lib, ... }:
{
name = "victorialogs";
meta.maintainers = with lib.maintainers; [ marie ];

nodes.machine =
{ pkgs, ... }:
{
services.victorialogs.enable = true;

services.journald.upload = {
enable = true;
settings = {
Upload.URL = "http://localhost:9428/insert/journald";
};
};
environment.systemPackages = [ pkgs.curl ];
};

testScript = ''
machine.wait_for_unit("victorialogs.service")

machine.succeed("echo 'meow' | systemd-cat -p info")
machine.wait_until_succeeds("curl --fail http://localhost:9428/select/logsql/query -d 'query=\"meow\"' | grep meow")
'';
}
72 changes: 72 additions & 0 deletions pkgs/by-name/vi/victorialogs/package.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
{
lib,
buildGoModule,
fetchFromGitHub,
nix-update-script,
nixosTests,
withServer ? true,
withVlAgent ? false,
}:

buildGoModule (finalAttrs: {
pname = "VictoriaLogs";
version = "1.36.1";

src = fetchFromGitHub {
owner = "VictoriaMetrics";
repo = "VictoriaLogs";
tag = "v${finalAttrs.version}";
hash = "sha256-TZhgZ8x1ESXrNMU6Sa4cQMurTZ+obD/JqqIJFJ18KOA=";
};

vendorHash = null;

subPackages =
lib.optionals withServer [
"app/victoria-logs"
"app/vlinsert"
"app/vlselect"
"app/vlstorage"
"app/vlogsgenerator"
"app/vlogscli"
]
++ lib.optionals withVlAgent [ "app/vlagent" ];

postPatch = ''
# Allow older go versions
substituteInPlace go.mod \
--replace-fail "go 1.25.2" "go ${finalAttrs.passthru.go.version}"

substituteInPlace vendor/modules.txt \
--replace-fail "go 1.25.0" "go ${finalAttrs.passthru.go.version}"
'';

ldflags = [
"-s"
"-w"
"-X github.com/VictoriaMetrics/VictoriaMetrics/lib/buildinfo.Version=${finalAttrs.version}"
];

__darwinAllowLocalNetworking = true;

passthru = {
tests = {
inherit (nixosTests)
victorialogs
;
};
updateScript = nix-update-script { };
};

meta = {
homepage = "https://docs.victoriametrics.com/victorialogs/";
description = "User friendly log database from VictoriaMetrics";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [
marie
shawn8901
];
changelog = "https://github.com/VictoriaMetrics/VictoriaLogs/releases/tag/${finalAttrs.src.tag}";
mainProgram = "victoria-logs";
};
})
11 changes: 11 additions & 0 deletions pkgs/by-name/vl/vlagent/package.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{ lib, victorialogs }:

# This package is build out of the victorialogs package.
# so no separate update prs are needed for vlagent
# nixpkgs-update: no auto update
lib.addMetaAttrs { mainProgram = "vlagent"; } (
victorialogs.override {
withServer = false;
withVlAgent = true;
}
)
Loading