-{ config, pkgs, hostFQDN, emailCheck, ... }:
+{ config, pkgs, nodes, hostFQDN, emailCheck, ... }:
+let
+ to_eriomem_age_dependency = name: {
+ dependent_host_name = "eldiron.immae.eu";
+ host_name = "eldiron.immae.eu";
+ dependent_service_description = "Eriomem backup for ${name} is not too old";
+ service_description = "Eriomem backup is up and not full";
+ execution_failure_criteria = "u";
+ notification_failure_criteria = "u";
+ };
+ to_eriomem_age = name: {
+ service_description = "Eriomem backup for ${name} is not too old";
+ host_name = "eldiron.immae.eu";
+ use = "external-service";
+ check_command = ["check_eriomem_age" name];
+
+ check_interval = "120";
+ notification_interval = "120";
+ };
+in
{
host = {
# Dummy host for testing
_webstatus_url = "https://www.sandetludo.com/";
}
- {
- service_description = "Maison bbc accepts add requests on http";
- host_name = "eldiron.immae.eu";
- use = "external-web-service";
- check_command = [ "check_http" "maison.bbc.bouya.org" "/add.php" "^$"];
- }
-
- {
- service_description = "Maison bbc has up to date data";
- host_name = "eldiron.immae.eu";
- use = "generic-service";
- contact_groups = "maison-bbc";
- notification_interval = "1440";
- check_command = "check_maison_bbc";
- flap_detection_enabled = "0";
- max_check_attempts = "1";
- }
-
# SSL
{
service_description = "ldap SSL is up to date";
_webstatus_name = "LDAP";
_webstatus_url = "ldap.immae.eu";
}
- ];
+ ] ++ map to_eriomem_age (builtins.attrNames nodes.eldiron.config.services.duplyBackup.profiles);
contact = {
telio-tortay = config.myEnv.monitoring.contacts.telio-tortay // {
use = "generic-contact";
contactgroups = "telio-tortay";
};
- papa = config.myEnv.monitoring.contacts.papa // {
- use = "generic-contact";
- contactgroups = "maison-bbc";
- service_notification_commands = "notify-maison-bbc-by-email";
- };
};
contactgroup = {
- maison-bbc = { alias = "Maison BBC"; };
telio-tortay = { alias = "Telio Tortay"; members = "immae"; };
};
+ servicedependency = map to_eriomem_age_dependency (builtins.attrNames nodes.eldiron.config.services.duplyBackup.profiles);
}