As promised in PR #75, here's a further (and hopefully final)
iteration of the master.cf service handling:
- Bring dovecot and policyd-spf configuration in line with the
extras_services item added in PR #75
- Remove policyd-spf configuration again from services.jinja,
handle this in master.cf instead, where it was before
- Allow for completely custom services to be added via a pillar
definition in postfix:master_config:services
- Fix legacy dovecot argv example in pillar.example: The example
showed the extra_args being defined as part of the argv
parameter, something that would clash with the actual code and
result in a duplicate '-d ${recipient}' definition in the config.
Most of the services in master.cf were already configurable through
the formula but specific ones such as cyrus or uucp were not managed
yet.
This commit adds functionality to manage these services as well
through pillar variables, e.g.:
postfix:
master_config:
services:
uucp:
enable: True
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.