From 4e07970c88f474bc45ae3e723c62df5f6711833e Mon Sep 17 00:00:00 2001 From: =?utf8?q?Isma=C3=ABl=20Bouya?= Date: Wed, 6 May 2020 00:18:28 +0200 Subject: [PATCH] Add sympa mailing lists to MX backup --- modules/private/mail/relay.nix | 15 +++++++++++++++ modules/private/mail/sympa.nix | 10 ++++++++++ overlays/postfix/default.nix | 2 +- 3 files changed, 26 insertions(+), 1 deletion(-) diff --git a/modules/private/mail/relay.nix b/modules/private/mail/relay.nix index ae74112..52288fc 100644 --- a/modules/private/mail/relay.nix +++ b/modules/private/mail/relay.nix @@ -68,6 +68,19 @@ LIMIT 1 ''; } + { + dest = "postfix/sympa_mailbox_maps"; + user = config.services.postfix.user; + group = config.services.postfix.group; + permissions = "0440"; + text = '' + hosts = ${config.myEnv.mail.sympa.postgresql.host} + user = ${config.myEnv.mail.sympa.postgresql.user} + password = ${config.myEnv.mail.sympa.postgresql.password} + dbname = ${config.myEnv.mail.sympa.postgresql.database} + query = SELECT DISTINCT CONCAT(name_list, '@', robot_list) FROM list_table + ''; + } { dest = "postfix/ldap_ejabberd_users_immae_fr"; user = config.services.postfix.user; @@ -95,6 +108,7 @@ paths = [ config.secrets.fullPaths."postfix/mysql_alias_maps" config.secrets.fullPaths."postfix/mysql_mailbox_maps" + config.secrets.fullPaths."postfix/sympa_mailbox_maps" config.secrets.fullPaths."postfix/ldap_ejabberd_users_immae_fr" ]; }; @@ -182,6 +196,7 @@ virtual_mailbox_maps = [ "hash:/etc/postfix/host_dummy_mailboxes" "mysql:${config.secrets.fullPaths."postfix/mysql_mailbox_maps"}" + "pgsql:${config.secrets.fullPaths."postfix/sympa_mailbox_maps"}" ]; in backup_recipients ++ virtual_alias_maps ++ virtual_mailbox_maps; diff --git a/modules/private/mail/sympa.nix b/modules/private/mail/sympa.nix index ed7e598..1a696d0 100644 --- a/modules/private/mail/sympa.nix +++ b/modules/private/mail/sympa.nix @@ -5,6 +5,16 @@ let in { config = lib.mkIf config.myServices.mail.enable { + myServices.databases.postgresql.authorizedHosts = { + backup-2 = [ + { + username = "sympa"; + database = "sympa"; + ip4 = [config.myEnv.servers.backup-2.ips.main.ip4]; + ip6 = config.myEnv.servers.backup-2.ips.main.ip6; + } + ]; + }; services.duplyBackup.profiles.sympa = { rootDir = "/var/lib/sympa"; }; diff --git a/overlays/postfix/default.nix b/overlays/postfix/default.nix index 55b8312..c77e4cf 100644 --- a/overlays/postfix/default.nix +++ b/overlays/postfix/default.nix @@ -1,3 +1,3 @@ self: super: { - postfix = super.postfix.override { withMySQL = true; }; + postfix = super.postfix.override { withMySQL = true; withPgSQL = true; }; } -- 2.41.0