Create per service debug logging toggles
Enabling the rspamd debug log drowns out everything else and should be selected explicitly as needed. The external test does not require it and removing it makes it much (~40.5%) faster, since it now does not block on terminal output anymore. Before: ``` Benchmark 1: nix build .#hydraJobs.x86_64-linux.external-unstable --rebuild Time (mean ± σ): 151.737 s ± 1.074 s [User: 0.310 s, System: 0.289 s] Range (min … max): 150.321 s … 153.512 s 10 runs ``` After: ``` Benchmark 1: nix build .#hydraJobs.x86_64-linux.external-unstable --rebuild Time (mean ± σ): 90.531 s ± 0.557 s [User: 0.054 s, System: 0.045 s] Range (min … max): 89.579 s … 91.278 s 10 runs ```
This commit is contained in:
parent
7405122dde
commit
cf6ef5e9ca
4 changed files with 31 additions and 11 deletions
28
default.nix
28
default.nix
|
@ -1026,16 +1026,36 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
debug = mkOption {
|
debug = {
|
||||||
|
all = mkOption {
|
||||||
type = types.bool;
|
type = types.bool;
|
||||||
default = false;
|
default = false;
|
||||||
description = ''
|
description = ''
|
||||||
Whether to enable verbose logging for mailserver related services. This
|
Whether to enable verbose logging for all mailserver related services.
|
||||||
intended be used for development purposes only, you probably don't want
|
This intended be used for development purposes only, you probably
|
||||||
to enable this unless you're hacking on nixos-mailserver.
|
don't want to enable this unless you're hacking on nixos-mailserver.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
dovecot = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = cfg.debug.all;
|
||||||
|
defaultText = lib.literalExpression "config.mailserver.debug.all";
|
||||||
|
description = ''
|
||||||
|
Whether to enable verbose logging for Dovecot.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
rspamd = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = cfg.debug.all;
|
||||||
|
defaultText = lib.literalExpression "config.mailserver.debug.all";
|
||||||
|
description = ''
|
||||||
|
Whether to enable verbose logging for Rspamd.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
maxConnectionsPerUser = mkOption {
|
maxConnectionsPerUser = mkOption {
|
||||||
type = types.int;
|
type = types.int;
|
||||||
default = 100;
|
default = 100;
|
||||||
|
|
|
@ -262,7 +262,7 @@ in
|
||||||
|
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
#Extra Config
|
#Extra Config
|
||||||
${lib.optionalString cfg.debug ''
|
${lib.optionalString cfg.debug.dovecot ''
|
||||||
mail_debug = yes
|
mail_debug = yes
|
||||||
auth_debug = yes
|
auth_debug = yes
|
||||||
verbose_ssl = yes
|
verbose_ssl = yes
|
||||||
|
|
|
@ -67,7 +67,7 @@ in
|
||||||
|
|
||||||
services.rspamd = {
|
services.rspamd = {
|
||||||
enable = true;
|
enable = true;
|
||||||
inherit (cfg) debug;
|
debug = cfg.debug.rspamd;
|
||||||
locals = {
|
locals = {
|
||||||
"milter_headers.conf" = {
|
"milter_headers.conf" = {
|
||||||
text = ''
|
text = ''
|
||||||
|
|
|
@ -39,7 +39,7 @@
|
||||||
|
|
||||||
mailserver = {
|
mailserver = {
|
||||||
enable = true;
|
enable = true;
|
||||||
debug = true;
|
debug.dovecot = true; # enabled for sieve script logging
|
||||||
fqdn = "mail.example.com";
|
fqdn = "mail.example.com";
|
||||||
domains = [
|
domains = [
|
||||||
"example.com"
|
"example.com"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue