2022-08-04 00:36:11 +03:00
|
|
|
{ config, ... }:
|
|
|
|
|
2023-05-10 00:13:30 +03:00
|
|
|
let
|
|
|
|
nodeFor = nodeType: builtins.head config.services.monitoring.nodes.${nodeType};
|
|
|
|
|
|
|
|
meshIpFor = nodeType: config.vars.mesh.${nodeFor nodeType}.meshIp;
|
|
|
|
in
|
|
|
|
|
2022-08-04 00:36:11 +03:00
|
|
|
{
|
|
|
|
links = {
|
|
|
|
loki-ingest = {
|
|
|
|
protocol = "http";
|
2023-05-10 00:13:30 +03:00
|
|
|
ipv4 = meshIpFor "logging";
|
|
|
|
};
|
|
|
|
loki = {
|
|
|
|
protocol = "http";
|
|
|
|
ipv4 = meshIpFor "logging";
|
2022-08-04 00:36:11 +03:00
|
|
|
};
|
2023-05-26 17:26:24 +03:00
|
|
|
prometheus-ingest = {
|
|
|
|
protocol = "http";
|
|
|
|
ipv4 = meshIpFor "server";
|
|
|
|
};
|
2022-08-04 00:36:11 +03:00
|
|
|
};
|
|
|
|
services.monitoring = {
|
|
|
|
nodes = {
|
2023-03-22 00:51:02 +02:00
|
|
|
client = [ "checkmate" "thunderskin" "VEGAS" "prophet" ];
|
2023-05-10 00:13:30 +03:00
|
|
|
logging = [ "VEGAS" ];
|
|
|
|
server = [ "VEGAS" ];
|
2022-08-04 00:36:11 +03:00
|
|
|
};
|
|
|
|
nixos = {
|
|
|
|
client = ./client.nix;
|
2023-05-10 00:13:30 +03:00
|
|
|
logging = ./logging.nix;
|
|
|
|
server = [
|
|
|
|
./server.nix
|
|
|
|
./tracing.nix
|
|
|
|
];
|
2022-08-04 00:36:11 +03:00
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|