diff options
author | Brian Olsen <brian@maven-group.org> | 2018-11-25 06:10:30 +0100 |
---|---|---|
committer | Brian Olsen <brian@maven-group.org> | 2018-11-25 16:03:34 +0100 |
commit | 0d753af6617bb74535af0601a2cdce1a8c647889 (patch) | |
tree | 7f4d38b84c939fa532e0447b418899704dbbd076 /nixos/modules/services/mail/rspamd.nix | |
parent | 22ec5128d4e6e2473046b37340ff387da02b96c3 (diff) |
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.
Diffstat (limited to 'nixos/modules/services/mail/rspamd.nix')
-rw-r--r-- | nixos/modules/services/mail/rspamd.nix | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/nixos/modules/services/mail/rspamd.nix b/nixos/modules/services/mail/rspamd.nix index 1c37ae41e07dd..c9ba867802130 100644 --- a/nixos/modules/services/mail/rspamd.nix +++ b/nixos/modules/services/mail/rspamd.nix @@ -45,7 +45,9 @@ let 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 = { enable = mkOption { type = types.nullOr types.bool; @@ -59,9 +61,18 @@ let }; type = mkOption { 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 { type = types.listOf (types.either types.str (types.submodule bindSocketOpts)); |