rework victoriametrics to be more generic with test

This commit is contained in:
2025-07-31 15:56:46 +07:00
parent 5109c3f4fa
commit cc628f47b7
11 changed files with 176 additions and 52 deletions

View File

@@ -0,0 +1,25 @@
{ ... }:
{
_class = "clan.service";
manifest.name = "Victoria Metrics";
manifest.description = "VictoriaMetrics: fast, cost-effective monitoring solution and time series database";
manifest.categories = [ "System" ];
roles.default = {
perInstance.nixosModule =
{
config,
lib,
...
}:
{
services.victoriametrics = {
enable = lib.mkDefault true;
};
clan.core.state.victoriametrics.folders = lib.mkDefault [
"/var/lib/${config.services.victoriametrics.stateDir}"
];
};
};
}

View File

@@ -0,0 +1,19 @@
{ lib, ... }:
let
module = lib.modules.importApply ./default.nix { };
in
{
clan.modules = {
victoriametrics = module;
};
perSystem =
{ ... }:
{
clan.nixosTests.victoriametrics = {
imports = [ ./tests/vm/default.nix ];
clan.modules."@clan/victoriametrics" = module;
};
};
}

View File

@@ -0,0 +1,34 @@
{
...
}:
{
name = "service-victoriametrics";
clan = {
directory = ./.;
inventory = {
machines.server = { };
instances = {
victoriametrics-test = {
module.name = "@clan/victoriametrics";
module.input = "self";
roles.default.machines."server".settings = { };
};
};
};
};
nodes = {
server = { };
};
testScript = ''
start_all()
server.wait_for_unit("victoriametrics")
server.succeed("systemctl status victoriametrics")
'';
}