{ lib, pkgs, config, ... }: let giteaDownAlertRules = (import ./gitea_down.nix { inherit lib pkgs config; }).grafanaAlertRuleDefinitions; giteaRunnerDownAlertRules = (import ./gitea_runner_down.nix { inherit lib pkgs config; }).grafanaAlertRuleDefinitions; postfixDownAlertRules = (import ./postfix_down.nix { inherit lib pkgs config; }).grafanaAlertRuleDefinitions; dovecotDownAlertRules = (import ./dovecot_down.nix { inherit lib pkgs config; }).grafanaAlertRuleDefinitions; openldapDownAlertRules = (import ./openldap_down.nix { inherit lib pkgs config; }).grafanaAlertRuleDefinitions; wireguardDownAlertRules = (import ./wireguard_down.nix { inherit lib pkgs config; }).grafanaAlertRuleDefinitions; # amzebs-01 service alerts ambebsMysqlDownAlertRules = (import ./amzebs_mysql_down.nix { inherit lib pkgs config; }).grafanaAlertRuleDefinitions; ambebsNginxDownAlertRules = (import ./amzebs_nginx_down.nix { inherit lib pkgs config; }).grafanaAlertRuleDefinitions; ambebsPhpfpmDownAlertRules = (import ./amzebs_phpfpm_down.nix { inherit lib pkgs config; }).grafanaAlertRuleDefinitions; allServiceRules = giteaDownAlertRules ++ giteaRunnerDownAlertRules ++ postfixDownAlertRules ++ dovecotDownAlertRules ++ openldapDownAlertRules ++ wireguardDownAlertRules ++ ambebsMysqlDownAlertRules ++ ambebsNginxDownAlertRules ++ ambebsPhpfpmDownAlertRules; in { services.grafana.provision.alerting.rules.settings.groups = [ { name = "Service Alerts"; folder = "Service Monitoring"; interval = "1m"; rules = allServiceRules; } ]; }