mob next [ci-skip] [ci skip] [skip ci]
lastFile:inventories/default.nix
This commit is contained in:
+66
-66
@@ -325,73 +325,73 @@
|
|||||||
(
|
(
|
||||||
{ config, pkgs, ... }:
|
{ config, pkgs, ... }:
|
||||||
{
|
{
|
||||||
clan.core.vars.generators.prometheus = {
|
# clan.core.vars.generators.prometheus = {
|
||||||
files.matrix-alertmanager-token.secret = true;
|
# files.matrix-alertmanager-token.secret = true;
|
||||||
files.matrix-alertmanager-secret.secret = true;
|
# files.matrix-alertmanager-secret.secret = true;
|
||||||
files.matrix-alertmanager-urlfile = {
|
# files.matrix-alertmanager-urlfile = {
|
||||||
secret = true;
|
# secret = true;
|
||||||
owner = "alertmanager";
|
# owner = "alertmanager";
|
||||||
group = "alertmanager";
|
# group = "alertmanager";
|
||||||
};
|
# };
|
||||||
script = ''
|
# script = ''
|
||||||
echo "" > $out/matrix-alertmanager-token
|
# echo "" > $out/matrix-alertmanager-token
|
||||||
openssl rand -hex 32 > "$out"/matrix-alertmanager-secret
|
# 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";
|
||||||
|
# }
|
||||||
|
# ];
|
||||||
|
# };
|
||||||
|
|
||||||
echo "http://localhost:3000/alerts?secret=$(cat $out/matrix-alertmanager-secret)" > $out/matrix-alertmanager-urlfile
|
# services.prometheus = {
|
||||||
'';
|
#
|
||||||
runtimeInputs = [
|
# alertmanager = {
|
||||||
pkgs.openssl
|
# enable = true;
|
||||||
];
|
# configuration = {
|
||||||
};
|
# global = {
|
||||||
|
# resolve_timeout = "5m";
|
||||||
services.matrix-alertmanager = {
|
# };
|
||||||
enable = true;
|
# route = {
|
||||||
tokenFile = config.clan.core.vars.generators.prometheus.files.matrix-alertmanager-token.path;
|
# receiver = "default";
|
||||||
secretFile = config.clan.core.vars.generators.prometheus.files.matrix-alertmanager-secret.path;
|
# routes = [
|
||||||
homeserverUrl = "https://matrix-client.matrix.org";
|
# {
|
||||||
matrixUser = "@kuroiris:matrix.org";
|
# receiver = "matrix";
|
||||||
matrixRooms = [
|
# }
|
||||||
{
|
# ];
|
||||||
receivers = [
|
# };
|
||||||
"matrix"
|
# receivers = [
|
||||||
];
|
# { name = "default"; }
|
||||||
roomId = "!rqIrWqPvsXqMgYpcNZ:matrix.org";
|
# {
|
||||||
}
|
# name = "matrix";
|
||||||
];
|
# webhook_configs = [
|
||||||
};
|
# {
|
||||||
|
# url_file = config.clan.core.vars.generators.prometheus.files.matrix-alertmanager-urlfile.path;
|
||||||
services.prometheus = {
|
# send_resolved = true;
|
||||||
|
# }
|
||||||
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;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
description = "Prometheus server that scraps all data from nodes";
|
description = "Prometheus server that scraps all data from nodes";
|
||||||
|
|
||||||
interface =
|
interface =
|
||||||
{ lib, ... }:
|
{ lib, options, ... }:
|
||||||
{
|
{
|
||||||
options = {
|
options = {
|
||||||
scrape_interval = lib.mkOption {
|
scrape_interval = lib.mkOption {
|
||||||
@@ -30,6 +30,23 @@
|
|||||||
};
|
};
|
||||||
description = "Definition of a default receiver, default is doing nothing";
|
description = "Definition of a default receiver, default is doing nothing";
|
||||||
};
|
};
|
||||||
|
matrix-alertmanager = {
|
||||||
|
enable = lib.mkOption {
|
||||||
|
type = with lib.types; bool;
|
||||||
|
default = false;
|
||||||
|
description = "Whether to enable `services.matrix-alertmanager`";
|
||||||
|
};
|
||||||
|
homeserverUrl = lib.mkOption {
|
||||||
|
type = with lib.types; str;
|
||||||
|
default = "https://matrix-client.matrix.org";
|
||||||
|
description = "URL of the Matrix homeserver to use";
|
||||||
|
};
|
||||||
|
matrixUser = lib.mkOption {
|
||||||
|
type = with lib.types; str;
|
||||||
|
description = "Matrix user for the bot";
|
||||||
|
};
|
||||||
|
matrixRooms = options.services.matrix-alertmanager.matrixRooms;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -161,7 +178,39 @@
|
|||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
}
|
||||||
|
// lib.optionalAttrs settings.matrix-alertmanager.enable (
|
||||||
|
{ 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 = lib.mkIf settings.matrix-alertmanager.enable {
|
||||||
|
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 = settings.matrix-alertmanager.homeserverUrl;
|
||||||
|
matrixUser = settings.matrix-alertmanager.matrixUser;
|
||||||
|
matrixRooms = settings.matrix-alertmanager.matrixRooms;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
);
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user