]> git.immae.eu Git - perso/Immae/Config/Nix.git/blobdiff - modules/private/system/backup-2.nix
Change cron e-mail
[perso/Immae/Config/Nix.git] / modules / private / system / backup-2.nix
index 615167150a10c27b4788fd90bc463f078d75e006..5d692c65287e42060ab23a84d7cd2ffba32809c1 100644 (file)
@@ -3,6 +3,7 @@
 {
   boot.kernelPackages = pkgs.linuxPackages_latest;
   _module.args.privateFiles = privateFiles;
+  _module.args.hostFQDN = "backup-2.v.immae.eu";
   imports = builtins.attrValues (import ../..);
 
   deployment = {
     };
   };
 
+  services.cron = {
+    mailto = "cron@immae.eu";
+    enable = true;
+  };
+
   services.rsyncBackup = {
     mountpoint = "/backup2";
     mailto = myconfig.env.rsync_backup.mailto;
     ssh_key_private = myconfig.env.rsync_backup.ssh_key.private;
   };
 
+  myServices.monitoring.enable = true;
+  myServices.databasesReplication = {
+    postgresql = {
+      enable = true;
+      base = "/backup2";
+      hosts = {
+        eldiron = {
+          slot = "backup_2";
+          connection = "postgresql://backup-2:${myconfig.env.ldap.backup-2.password}@eldiron.immae.eu";
+        };
+      };
+    };
+    mariadb = {
+      enable = true;
+      base = "/backup2";
+      hosts = {
+        eldiron = {
+          serverId = 2;
+          # mysql resolves "backup-2" host and checks the ip, but uses /etc/hosts which only contains ip4
+          host = myconfig.env.servers.eldiron.ips.main.ip4;
+          port = "3306";
+          user = "backup-2";
+          password = myconfig.env.ldap.backup-2.password;
+          dumpUser = "root";
+          dumpPassword = myconfig.env.databases.mysql.systemUsers.root;
+        };
+      };
+    };
+    redis = {
+      enable = true;
+      base = "/backup2";
+      hosts = {
+        eldiron = {
+          host = "127.0.0.1";
+          port = "16379";
+        };
+      };
+    };
+    openldap = {
+      enable = true;
+      base = "/backup2";
+      hosts = {
+        eldiron = {
+          url = "ldaps://${myconfig.env.ldap.host}:636";
+          dn = myconfig.env.ldap.replication_dn;
+          password = myconfig.env.ldap.replication_pw;
+          base = myconfig.env.ldap.base;
+        };
+      };
+    };
+  };
+
   # This value determines the NixOS release with which your system is
   # to be compatible, in order to avoid breaking some software such as
   # database servers. You should change this only after NixOS release