From a1b8fc758af466bfd556d57595df105700a9c920 Mon Sep 17 00:00:00 2001 From: ibizaman Date: Sun, 25 Jan 2026 11:43:02 +0100 Subject: [PATCH] mailserver: separate backup for dkim as it uses other user --- docs/redirects.json | 33 +++++++++++++++++++++++++++++++++ modules/services/mailserver.nix | 23 +++++++++++++++++++++-- 2 files changed, 54 insertions(+), 2 deletions(-) diff --git a/docs/redirects.json b/docs/redirects.json index 8d05b93..7e5b0e0 100644 --- a/docs/redirects.json +++ b/docs/redirects.json @@ -4055,6 +4055,39 @@ "services-mailserver-options-shb.mailserver.backup.result.restoreScript": [ "services-mailserver.html#services-mailserver-options-shb.mailserver.backup.result.restoreScript" ], + "services-mailserver-options-shb.mailserver.backupDKIM": [ + "services-mailserver.html#services-mailserver-options-shb.mailserver.backupDKIM" + ], + "services-mailserver-options-shb.mailserver.backupDKIM.request": [ + "services-mailserver.html#services-mailserver-options-shb.mailserver.backupDKIM.request" + ], + "services-mailserver-options-shb.mailserver.backupDKIM.request.excludePatterns": [ + "services-mailserver.html#services-mailserver-options-shb.mailserver.backupDKIM.request.excludePatterns" + ], + "services-mailserver-options-shb.mailserver.backupDKIM.request.hooks": [ + "services-mailserver.html#services-mailserver-options-shb.mailserver.backupDKIM.request.hooks" + ], + "services-mailserver-options-shb.mailserver.backupDKIM.request.hooks.afterBackup": [ + "services-mailserver.html#services-mailserver-options-shb.mailserver.backupDKIM.request.hooks.afterBackup" + ], + "services-mailserver-options-shb.mailserver.backupDKIM.request.hooks.beforeBackup": [ + "services-mailserver.html#services-mailserver-options-shb.mailserver.backupDKIM.request.hooks.beforeBackup" + ], + "services-mailserver-options-shb.mailserver.backupDKIM.request.sourceDirectories": [ + "services-mailserver.html#services-mailserver-options-shb.mailserver.backupDKIM.request.sourceDirectories" + ], + "services-mailserver-options-shb.mailserver.backupDKIM.request.user": [ + "services-mailserver.html#services-mailserver-options-shb.mailserver.backupDKIM.request.user" + ], + "services-mailserver-options-shb.mailserver.backupDKIM.result": [ + "services-mailserver.html#services-mailserver-options-shb.mailserver.backupDKIM.result" + ], + "services-mailserver-options-shb.mailserver.backupDKIM.result.backupService": [ + "services-mailserver.html#services-mailserver-options-shb.mailserver.backupDKIM.result.backupService" + ], + "services-mailserver-options-shb.mailserver.backupDKIM.result.restoreScript": [ + "services-mailserver.html#services-mailserver-options-shb.mailserver.backupDKIM.result.restoreScript" + ], "services-mailserver-options-shb.mailserver.domain": [ "services-mailserver.html#services-mailserver-options-shb.mailserver.domain" ], diff --git a/modules/services/mailserver.nix b/modules/services/mailserver.nix index 828607b..a414229 100644 --- a/modules/services/mailserver.nix +++ b/modules/services/mailserver.nix @@ -335,7 +335,7 @@ in backup = lib.mkOption { description = '' - Backup emails. + Backup emails, index and sieve. ''; default = { }; type = lib.types.submodule { @@ -345,13 +345,32 @@ in config.mailserver.indexDir config.mailserver.mailDirectory config.mailserver.sieveDirectory - config.mailserver.dkimKeyDirectory ]; sourceDirectoriesText = '' [ config.mailserver.indexDir config.mailserver.mailDirectory config.mailserver.sieveDirectory + ] + ''; + }; + }; + }; + + backupDKIM = lib.mkOption { + description = '' + Backup dkim directory. + ''; + default = { }; + type = lib.types.submodule { + options = shb.contracts.backup.mkRequester { + user = config.services.rspamd.user; + userText = "services.rspamd.user"; + sourceDirectories = builtins.filter (x: x != null) [ + config.mailserver.dkimKeyDirectory + ]; + sourceDirectoriesText = '' + [ config.mailserver.dkimKeyDirectory ] '';