mob next [ci-skip] [ci skip] [skip ci]

lastFile:modules/clan/prometheus/default.nix
This commit is contained in:
2026-06-22 16:49:41 +07:00
parent f2cdea1aec
commit 106591d374
2 changed files with 223 additions and 206 deletions
+87 -73
View File
@@ -320,81 +320,95 @@
name = "prometheus";
input = "self";
};
roles.server.machines."rigel".settings = { };
roles.server.extraModules = [
(
{ config, pkgs, ... }:
roles.server.machines."rigel".settings = {
matrix-alertmanager = {
enable = true;
homeserverUrl = "https://matrix-client.matrix.org";
matrixUser = "@kuroiris:matrix.org";
matrixRooms = [
{
# clan.core.vars.generators.prometheus = {
# files.matrix-alertmanager-token.secret = true;
# files.matrix-alertmanager-secret.secret = true;
# files.matrix-alertmanager-urlfile = {
# secret = true;
# owner = "alertmanager";
# group = "alertmanager";
# };
# script = ''
# echo "" > $out/matrix-alertmanager-token
# openssl rand -hex 32 > "$out"/matrix-alertmanager-secret
#
# echo "http://localhost:3000/alerts?secret=$(cat $out/matrix-alertmanager-secret)" > $out/matrix-alertmanager-urlfile
# '';
# runtimeInputs = [
# pkgs.openssl
# ];
# };
#
# services.matrix-alertmanager = {
# enable = true;
# tokenFile = config.clan.core.vars.generators.prometheus.files.matrix-alertmanager-token.path;
# secretFile = config.clan.core.vars.generators.prometheus.files.matrix-alertmanager-secret.path;
# homeserverUrl = "https://matrix-client.matrix.org";
# matrixUser = "@kuroiris:matrix.org";
# matrixRooms = [
# {
# receivers = [
# "matrix"
# ];
# roomId = "!rqIrWqPvsXqMgYpcNZ:matrix.org";
# }
# ];
# };
# services.prometheus = {
#
# alertmanager = {
# enable = true;
# configuration = {
# global = {
# resolve_timeout = "5m";
# };
# route = {
# receiver = "default";
# routes = [
# {
# receiver = "matrix";
# }
# ];
# };
# receivers = [
# { name = "default"; }
# {
# name = "matrix";
# webhook_configs = [
# {
# url_file = config.clan.core.vars.generators.prometheus.files.matrix-alertmanager-urlfile.path;
# send_resolved = true;
# }
# ];
# }
# ];
# };
# };
#
# };
}
)
receivers = [
"matrix"
];
roomId = "!rqIrWqPvsXqMgYpcNZ:matrix.org";
}
];
};
};
# roles.server.extraModules = [
# (
# { config, pkgs, ... }:
# {
# # clan.core.vars.generators.prometheus = {
# # files.matrix-alertmanager-token.secret = true;
# # files.matrix-alertmanager-secret.secret = true;
# # files.matrix-alertmanager-urlfile = {
# # secret = true;
# # owner = "alertmanager";
# # group = "alertmanager";
# # };
# # script = ''
# # echo "" > $out/matrix-alertmanager-token
# # openssl rand -hex 32 > "$out"/matrix-alertmanager-secret
# #
# # echo "http://localhost:3000/alerts?secret=$(cat $out/matrix-alertmanager-secret)" > $out/matrix-alertmanager-urlfile
# # '';
# # runtimeInputs = [
# # pkgs.openssl
# # ];
# # };
# #
# # services.matrix-alertmanager = {
# # enable = true;
# # tokenFile = config.clan.core.vars.generators.prometheus.files.matrix-alertmanager-token.path;
# # secretFile = config.clan.core.vars.generators.prometheus.files.matrix-alertmanager-secret.path;
# # homeserverUrl = "https://matrix-client.matrix.org";
# # matrixUser = "@kuroiris:matrix.org";
# # matrixRooms = [
# # {
# # receivers = [
# # "matrix"
# # ];
# # roomId = "!rqIrWqPvsXqMgYpcNZ:matrix.org";
# # }
# # ];
# # };
#
# # services.prometheus = {
# #
# # alertmanager = {
# # enable = true;
# # configuration = {
# # global = {
# # resolve_timeout = "5m";
# # };
# # route = {
# # receiver = "default";
# # routes = [
# # {
# # receiver = "matrix";
# # }
# # ];
# # };
# # receivers = [
# # { name = "default"; }
# # {
# # name = "matrix";
# # webhook_configs = [
# # {
# # url_file = config.clan.core.vars.generators.prometheus.files.matrix-alertmanager-urlfile.path;
# # send_resolved = true;
# # }
# # ];
# # }
# # ];
# # };
# # };
# #
# # };
# }
# )
# ];
roles.nodes.machines = {
vega.settings = {
+6 -3
View File
@@ -122,6 +122,7 @@
lib.concatMap (entry: entry.receivers) settings.matrix-alertmanager.matrixRooms
);
in
lib.mkMerge [
{
networking.firewall.allowedTCPPorts = [
9090
@@ -156,7 +157,7 @@
]
++ map (mReceiver: {
name = mReceiver;
webhook_config = [
webhook_configs = [
{
url_file = config.clan.core.vars.generators.prometheus.files.matrix-alertmanager-urlfile.path;
send_resolved = true;
@@ -234,7 +235,8 @@
};
}
// lib.optionalAttrs settings.matrix-alertmanager.enable {
(lib.optionalAttrs settings.matrix-alertmanager.enable {
clan.core.vars.generators.prometheus = {
files.matrix-alertmanager-token.secret = true;
files.matrix-alertmanager-secret.secret = true;
@@ -262,7 +264,8 @@
matrixUser = settings.matrix-alertmanager.matrixUser;
matrixRooms = settings.matrix-alertmanager.matrixRooms;
};
};
})
];
};
};