forked from DGNum/infrastructure
feat(monitoring): Add admin emails
This commit is contained in:
parent
b732c5e9fb
commit
a63f682aeb
1 changed files with 24 additions and 4 deletions
|
@ -2,17 +2,36 @@
|
|||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
meta,
|
||||
nodeMeta,
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
inherit (lib)
|
||||
concatStringsSep
|
||||
mkEnableOption
|
||||
mkForce
|
||||
mkIf
|
||||
;
|
||||
|
||||
emails = concatStringsSep ", " (
|
||||
builtins.map (name: meta.organization.members.${name}.email) nodeMeta.admins
|
||||
);
|
||||
|
||||
cfg = config.dgn-notify;
|
||||
in
|
||||
|
||||
{
|
||||
|
||||
options.dgn-notify = {
|
||||
enable = lib.mkEnableOption "DGNum email notification cli" // {
|
||||
enable = mkEnableOption "DGNum email notification cli" // {
|
||||
default = true;
|
||||
};
|
||||
};
|
||||
config = lib.mkIf config.dgn-notify.enable {
|
||||
services.mail.sendmailSetuidWrapper.group = lib.mkForce "mail";
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
services.mail.sendmailSetuidWrapper.group = mkForce "mail";
|
||||
users.groups.mail = { };
|
||||
|
||||
programs.msmtp = {
|
||||
|
@ -29,12 +48,13 @@
|
|||
passwordeval = "cat ${config.age.secrets.mail.path}";
|
||||
};
|
||||
};
|
||||
|
||||
services.systemd-notify = {
|
||||
enable = true;
|
||||
command = builtins.toString (
|
||||
pkgs.writeShellScript "sendmail" ''
|
||||
${pkgs.msmtp}/bin/sendmail -i -t <<ERRMAIL
|
||||
To: admins+monitoring@dgnum.eu
|
||||
To: admins+monitoring@dgnum.eu, ${emails}
|
||||
Subject: [$HOSTNAME] Systemd failure: $1
|
||||
Content-Transfer-Encoding: 8bit
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
|
|
Loading…
Reference in a new issue