49 lines
1.1 KiB
Nix
49 lines
1.1 KiB
Nix
_:
|
|
let
|
|
inherit (import ../../../shared/caddy-helpers.nix) logFormat;
|
|
domainName = "alertmanager.labs.adtya.xyz";
|
|
in
|
|
{
|
|
services = {
|
|
caddy = {
|
|
virtualHosts."${domainName}" = {
|
|
inherit logFormat;
|
|
extraConfig = ''
|
|
reverse_proxy 127.0.0.1:9093
|
|
'';
|
|
};
|
|
};
|
|
prometheus.alertmanager = {
|
|
enable = true;
|
|
listenAddress = "127.0.0.1";
|
|
port = 9093;
|
|
webExternalUrl = "https://${domainName}/";
|
|
configuration = {
|
|
route = {
|
|
group_by = [ "alertname" ];
|
|
group_wait = "30s";
|
|
group_interval = "5m";
|
|
repeat_interval = "1h";
|
|
receiver = "web.hook";
|
|
};
|
|
receivers = [
|
|
{
|
|
name = "web.hook";
|
|
webhook_configs = [
|
|
{ url = "http://127.0.0.1:5001/"; }
|
|
];
|
|
}
|
|
];
|
|
inhibit_rules = [
|
|
{
|
|
source_match =
|
|
{ severity = "critical"; };
|
|
target_match =
|
|
{ severity = "warning"; };
|
|
equal = [ "alertname" "dev" "instance" ];
|
|
}
|
|
];
|
|
};
|
|
};
|
|
};
|
|
}
|