In case a list of items (iterable) is passed to the set_parameter
function in main.cf, the list of items are joined by a comma.
This makes parameters with many items a bit hard to read as it
results in long lines.
Postfix also supports an alternative declaration where subsequent
parameter values are written in a new line that starts with whitespace
and thus forms a continuation of the previous line.
This makes parsing multiple entry lines easier for humans.
Old style:
smtpd_milters = { unix:/run/spamass-milter/postfix/sock, connect_timeout=10s, default_action=accept } { inet:localhost:10003, connect_timeout=10s, default_action=accept } { inet:localhost:10004, connect_timeout=10s, default_action=accept } { inet:localhost:10006, connect_timeout=10s, default_action=accept } { inet:localhost:10007, connect_timeout=10s, default_action=accept }
New style:
smtpd_milters = { unix:/run/spamass-milter/postfix/sock, connect_timeout=10s, default_action=accept }
{ inet:localhost:10003, connect_timeout=10s, default_action=accept }
{ inet:localhost:10004, connect_timeout=10s, default_action=accept }
{ inet:localhost:10006, connect_timeout=10s, default_action=accept }
{ inet:localhost:10007, connect_timeout=10s, default_action=accept }
Fixes the creation of duplicated parameters on main.cf by using the
"set_parameter" macro to append the mapping parameter to the
"processed_parameters" list.
Currently master.cf only allows for _very_ limited configuration
options mainly focussed on SMTP submission settings.
This is rather limited and does not scale very well for managing
the other services defined in master.cf.
This patch has moved all the service definitions into a jinja file
and generates the master.cf service definition on the fly based on
these defaults.
Defaults can be overridden in a pillar to customize the rendered
master.cf file accordingly to local needs.
Undefined values will be filled with the postfix defaults.
Care has been taken that the previous ways of managing the submission
configuration options are still supported for backwards compatibility
to prevent breakage for existing users of the formula.
Merge existing handling of postfix lookup table/map files into a single
template. Mappings are read from pillar in `postfix:mapping`.
Configuration is written to the file pointed to by the relevant
directive in `postfix:config`. A single target file is supported at the
moment. The file is postmap'ed if needed.
The pillar accepts a dict or an OrderedDict.