From d91e09cf842fea0d5952f4d8b2b2f5223388492f Mon Sep 17 00:00:00 2001 From: Lukas Wagner Date: Thu, 20 Jul 2023 16:32:04 +0200 Subject: [PATCH] datacenter: add APT/fencing/replication notification configuration These options allow setting the notification target for package update notifications, node fencing notifications and replication notifications. Also, fencing and replication has now new options that allow disabling notifications altogether. Signed-off-by: Lukas Wagner --- src/PVE/DataCenterConfig.pm | 63 +++++++++++++++++++++++++++++++++++-- 1 file changed, 61 insertions(+), 2 deletions(-) diff --git a/src/PVE/DataCenterConfig.pm b/src/PVE/DataCenterConfig.pm index 3d24e78..09be6eb 100644 --- a/src/PVE/DataCenterConfig.pm +++ b/src/PVE/DataCenterConfig.pm @@ -49,13 +49,72 @@ my $notification_format = { 'package-updates' => { type => 'string', enum => ['auto', 'always', 'never'], - description => "Control when the daily update job should send out notification mails.", - verbose_description => "Control how often the daily update job should send out notification mails:\n" + description => "Control when the daily update job should send out notifications.", + verbose_description => "Control how often the daily update job should send out notifications:\n" ."* 'auto' daily for systems with a valid subscription, as those are assumed to be " ." production-ready and thus should know about pending updates.\n" ."* 'always' every update, if there are new pending updates.\n" ."* 'never' never send a notification for new pending updates.\n", default => 'auto', + optional => 1, + }, + 'target-package-updates' => { + type => 'string', + format_description => 'TARGET', + description => "Control where notifications about available updates should be sent to.", + verbose_description => "Control where notifications about available" + . " updates should be sent to." + . " Has to be the name of a notification target (endpoint or notification group)." + . " If the 'target-package-updates' parameter is not set, the system will send mails" + . " to root via a 'sendmail' notification endpoint.", + optional => 1, + }, + 'fencing' => { + type => 'string', + enum => ['always', 'never'], + description => "Control if notifications about node fencing should be sent.", + verbose_description => "Control if notifications about node fencing should be sent.\n" + . "* 'always' always send out notifications\n" + . "* 'never' never send out notifications.\n" + . "For production systems, turning off node fencing notifications is not" + . "recommended!\n", + default => 'always', + optional => 1, + }, + 'target-fencing' => { + type => 'string', + format_description => 'TARGET', + description => "Control where notifications about fenced cluster nodes should be sent to.", + verbose_description => "Control where notifications about fenced cluster nodes" + . " should be sent to." + . " Has to be the name of a notification target (endpoint or notification group)." + . " If the 'target-fencing' parameter is not set, the system will send mails" + . " to root via a 'sendmail' notification endpoint.", + optional => 1, + }, + 'replication' => { + type => 'string', + enum => ['always', 'never'], + description => "Control if notifications for replication failures should be sent.", + verbose_description => "Control if notifications for replication failures should be sent.\n" + . "* 'always' always send out notifications\n" + . "* 'never' never send out notifications.\n" + . "For production systems, turning off replication notifications is not" + . "recommended!\n", + default => 'always', + optional => 1, + }, + 'target-replication' => { + type => 'string', + format_description => 'TARGET', + description => "Control where notifications for failed storage replication jobs should" + . " be sent to.", + verbose_description => "Control where notifications for failed storage replication jobs" + . " should be sent to." + . " Has to be the name of a notification target (endpoint or notification group)." + . " If the 'target-replication' parameter is not set, the system will send mails" + . " to root via a 'sendmail' notification endpoint.", + optional => 1, }, }; -- 2.39.2