]> git.immae.eu Git - perso/Immae/Config/Nix.git/blobdiff - modules/private/monitoring/default.nix
Add chatons infos
[perso/Immae/Config/Nix.git] / modules / private / monitoring / default.nix
index cab9e7cb7b7b83fc4ba6ebb29ab2cefc6fe1afbd..f48e20661e4d19a7070d73990bddbdab6a3bfdb9 100644 (file)
@@ -91,7 +91,7 @@ let
     };
   otherObjects = map
     (n: (pkgs.callPackage (./. + "/objects_" + n + ".nix") { inherit emailCheck; }))
-    [ "ulminfo-fr" "phare" "eban" ];
+    [ "ulminfo-fr" "phare" ];
   masterObjects = pkgs.callPackage ./objects_master.nix { inherit config; };
   commonObjects = pkgs.callPackage ./objects_common.nix ({
     master = cfg.master;
@@ -145,6 +145,28 @@ in
   };
 
   config = lib.mkIf cfg.enable {
+    myServices.chatonsProperties.hostings.monitoring = lib.mkIf cfg.master {
+      file.datetime = "2022-08-27T16:00:00";
+      hosting = {
+        name = "Monitoring";
+        description = "Website and server health monitoring";
+        website = "https://status.immae.eu";
+        logo = "https://www.naemon.io/favicon.ico";
+        status.level = "OK";
+        status.description = "OK";
+        registration.load = "OPEN";
+        install.type = "PACKAGE";
+      };
+      software = {
+        name = "naemon";
+        website = "https://www.naemon.io/";
+        license.url = "https://github.com/naemon/naemon-core/blob/master/COPYING";
+        license.name = "GNU General Public License v2.0";
+        version = config.services.naemon.package.version;
+        source.url = "https://github.com/naemon/naemon-core";
+        modules = "livestatus,status-engine";
+      };
+    };
     services.nginx = lib.mkIf config.myServices.status.enable {
       virtualHosts."status.immae.eu".locations = objectsFiles // {
         "=/common/immae.cfg" = {
@@ -174,9 +196,6 @@ in
       };
     };
 
-    services.duplyBackup.profiles.monitoring = {
-      rootDir = config.services.naemon.varDir;
-    };
     security.sudo.extraRules = let
       pluginsSudo = lib.lists.remove null (lib.attrsets.mapAttrsToList (k: v:
         if (v ? sudo)
@@ -199,18 +218,15 @@ in
       text = "MAILADDR ${config.myEnv.monitoring.email}";
     };
 
-    secrets.keys = [
-      {
-        dest = "naemon/id_rsa";
+    secrets.keys = {
+      "naemon/id_rsa" = {
         user = "naemon";
         group = "naemon";
         permissions = "0400";
         text = config.myEnv.monitoring.ssh_secret_key;
-      }
-    ] ++ lib.optionals cfg.master (
-      lib.mapAttrsToList (k: v:
-      {
-        dest = "${k}_access_key";
+      };
+    } // lib.optionalAttrs cfg.master (
+      lib.mapAttrs' (k: v: lib.nameValuePair "${k}_access_key" {
         user = "naemon";
         group = "naemon";
         permissions = "0400";