grafana service

This commit is contained in:
2025-08-04 15:36:07 +07:00
parent db855963dc
commit fca02307a0
9 changed files with 192 additions and 0 deletions

View File

@@ -0,0 +1,24 @@
{ ... }:
{
_class = "clan.service";
manifest.name = "grafana";
manifest.description = "Platform for data analytics and monitoring";
manifest.categories = [ "System" ];
roles.default = {
perInstance.nixosModule =
{
config,
lib,
...
}:
{
services.grafana = {
enable = lib.mkDefault true;
};
clan.core.state.grafana.folders = [ config.services.grafana.dataDir ];
};
};
}

View File

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

View File

@@ -0,0 +1,42 @@
{
...
}:
{
name = "service-grafana";
clan = {
directory = ./.;
inventory = {
machines.server = { };
instances = {
grafana-test = {
module.name = "@clan/grafana";
module.input = "self";
roles.default.machines."server".settings = { };
};
};
};
};
nodes = {
server = {
services.grafana = {
settings = {
server.domain = "grafana.localhost";
};
};
};
};
testScript = ''
start_all()
server.wait_for_unit("grafana")
server.succeed("systemctl status grafana")
server.wait_for_open_port(3000)
server.succeed("curl -H \"Host: grafana.localhost\" http://127.0.0.1:3000 ")
server.succeed("grafana cli -v")
'';
}