nixos/zed: use global sendmail if configured
This simplifies the setup to receive emails from the ZFS Event Daemon by relying on the sendmail wrapper defined by other modules such as msmtp or Postfix. This is more similar to how other modules like smartd deal with email configuration. The user is no longer required to define and rebuild their own ZFS package to add email support. GitHub: closes https://github.com/NixOS/nixpkgs/issues/132464
This commit is contained in:
parent
1272bba187
commit
cf6d89525f
@ -79,6 +79,9 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
|
|||||||
|
|
||||||
- [](#opt-boot.kernel.sysctl._net.core.wmem_max_) changed from a string to an integer because of the addition of a custom merge option (taking the highest value defined to avoid conflicts between 2 services trying to set that value), just as [](#opt-boot.kernel.sysctl._net.core.rmem_max_) since 22.11.
|
- [](#opt-boot.kernel.sysctl._net.core.wmem_max_) changed from a string to an integer because of the addition of a custom merge option (taking the highest value defined to avoid conflicts between 2 services trying to set that value), just as [](#opt-boot.kernel.sysctl._net.core.rmem_max_) since 22.11.
|
||||||
|
|
||||||
|
- `services.zfs.zed.enableMail` now uses the global `sendmail` wrapper defined by an email module
|
||||||
|
(such as msmtp or Postfix). It no longer requires using a special ZFS build with email support.
|
||||||
|
|
||||||
- Gitea 1.21 upgrade has several breaking changes, including:
|
- Gitea 1.21 upgrade has several breaking changes, including:
|
||||||
- Custom themes and other assets that were previously stored in `custom/public/*` now belong in `custom/public/assets/*`
|
- Custom themes and other assets that were previously stored in `custom/public/*` now belong in `custom/public/assets/*`
|
||||||
- New instances of Gitea using MySQL now ignore the `[database].CHARSET` config option and always use the `utf8mb4` charset, existing instances should migrate via the `gitea doctor convert` CLI command.
|
- New instances of Gitea using MySQL now ignore the `[database].CHARSET` config option and always use the `utf8mb4` charset, existing instances should migrate via the `gitea doctor convert` CLI command.
|
||||||
|
@ -508,9 +508,15 @@ in
|
|||||||
};
|
};
|
||||||
|
|
||||||
services.zfs.zed = {
|
services.zfs.zed = {
|
||||||
enableMail = mkEnableOption (lib.mdDoc "ZED's ability to send emails") // {
|
enableMail = mkOption {
|
||||||
default = cfgZfs.package.enableMail;
|
type = types.bool;
|
||||||
defaultText = literalExpression "config.${optZfs.package}.enableMail";
|
default = config.services.mail.sendmailSetuidWrapper != null;
|
||||||
|
defaultText = literalExpression ''
|
||||||
|
config.services.mail.sendmailSetuidWrapper != null
|
||||||
|
'';
|
||||||
|
description = mdDoc ''
|
||||||
|
Whether to enable ZED's ability to send emails.
|
||||||
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
settings = mkOption {
|
settings = mkOption {
|
||||||
@ -550,14 +556,6 @@ in
|
|||||||
assertion = cfgZfs.modulePackage.version == cfgZfs.package.version;
|
assertion = cfgZfs.modulePackage.version == cfgZfs.package.version;
|
||||||
message = "The kernel module and the userspace tooling versions are not matching, this is an unsupported usecase.";
|
message = "The kernel module and the userspace tooling versions are not matching, this is an unsupported usecase.";
|
||||||
}
|
}
|
||||||
{
|
|
||||||
assertion = cfgZED.enableMail -> cfgZfs.package.enableMail;
|
|
||||||
message = ''
|
|
||||||
To allow ZED to send emails, ZFS needs to be configured to enable
|
|
||||||
this. To do so, one must override the `zfs` package and set
|
|
||||||
`enableMail` to true.
|
|
||||||
'';
|
|
||||||
}
|
|
||||||
{
|
{
|
||||||
assertion = config.networking.hostId != null;
|
assertion = config.networking.hostId != null;
|
||||||
message = "ZFS requires networking.hostId to be set";
|
message = "ZFS requires networking.hostId to be set";
|
||||||
@ -671,7 +669,13 @@ in
|
|||||||
};
|
};
|
||||||
|
|
||||||
services.zfs.zed.settings = {
|
services.zfs.zed.settings = {
|
||||||
ZED_EMAIL_PROG = mkIf cfgZED.enableMail (mkDefault "${pkgs.mailutils}/bin/mail");
|
ZED_EMAIL_PROG = mkIf cfgZED.enableMail (mkDefault (
|
||||||
|
config.security.wrapperDir + "/" +
|
||||||
|
config.services.mail.sendmailSetuidWrapper.program
|
||||||
|
));
|
||||||
|
# subject in header for sendmail
|
||||||
|
ZED_EMAIL_OPTS = mkIf cfgZED.enableMail (mkDefault "@ADDRESS@");
|
||||||
|
|
||||||
PATH = lib.makeBinPath [
|
PATH = lib.makeBinPath [
|
||||||
cfgZfs.package
|
cfgZfs.package
|
||||||
pkgs.coreutils
|
pkgs.coreutils
|
||||||
|
Loading…
Reference in New Issue
Block a user