nixos/rspamd: Allow worker type to be proxy again
When reworking the rspamd workers I disallowed `proxy` as a type and instead used `rspamd_proxy` which is the correct name for that worker type. That change breaks peoples existing config and so I have made this commit which allows `proxy` as a worker type again but makes it behave as `rspamd_proxy` and prints a warning if you use it.
This commit is contained in:
parent
22ec5128d4
commit
0d753af661
|
@ -45,7 +45,9 @@ let
|
||||||
else "${config.socket}${maybeOption "mode"}${maybeOption "owner"}${maybeOption "group"}";
|
else "${config.socket}${maybeOption "mode"}${maybeOption "owner"}${maybeOption "group"}";
|
||||||
};
|
};
|
||||||
|
|
||||||
workerOpts = { name, ... }: {
|
traceWarning = w: x: builtins.trace "[1;31mwarning: ${w}[0m" x;
|
||||||
|
|
||||||
|
workerOpts = { name, options, ... }: {
|
||||||
options = {
|
options = {
|
||||||
enable = mkOption {
|
enable = mkOption {
|
||||||
type = types.nullOr types.bool;
|
type = types.nullOr types.bool;
|
||||||
|
@ -59,9 +61,18 @@ let
|
||||||
};
|
};
|
||||||
type = mkOption {
|
type = mkOption {
|
||||||
type = types.nullOr (types.enum [
|
type = types.nullOr (types.enum [
|
||||||
"normal" "controller" "fuzzy_storage" "rspamd_proxy" "lua"
|
"normal" "controller" "fuzzy_storage" "rspamd_proxy" "lua" "proxy"
|
||||||
]);
|
]);
|
||||||
description = "The type of this worker";
|
description = ''
|
||||||
|
The type of this worker. The type <literal>proxy</literal> is
|
||||||
|
deprecated and only kept for backwards compatibility and should be
|
||||||
|
replaced with <literal>rspamd_proxy</literal>.
|
||||||
|
'';
|
||||||
|
apply = let
|
||||||
|
from = "services.rspamd.workers.\”${name}\".type";
|
||||||
|
files = options.type.files;
|
||||||
|
warning = "The option `${from}` defined in ${showFiles files} has enum value `proxy` which has been renamed to `rspamd_proxy`";
|
||||||
|
in x: if x == "proxy" then traceWarning warning "rspamd_proxy" else x;
|
||||||
};
|
};
|
||||||
bindSockets = mkOption {
|
bindSockets = mkOption {
|
||||||
type = types.listOf (types.either types.str (types.submodule bindSocketOpts));
|
type = types.listOf (types.either types.str (types.submodule bindSocketOpts));
|
||||||
|
|
|
@ -235,6 +235,7 @@ in
|
||||||
services.rspamd = {
|
services.rspamd = {
|
||||||
enable = true;
|
enable = true;
|
||||||
postfix.enable = true;
|
postfix.enable = true;
|
||||||
|
workers.rspamd_proxy.type = "proxy";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
testScript = ''
|
testScript = ''
|
||||||
|
|
Loading…
Reference in a new issue