id-unibe-ch / ansible-role-postfix

This ansible role manages the postfix configuration including the alias file
MIT License
0 stars 0 forks source link

Create new Ansible role: ansible-role-postfix #1

Closed mrolli closed 1 year ago

mrolli commented 1 year ago

Is your feature request related to a current shortcoming? Please describe. Currently postfix is not (fully) managed by Ansible. Some configuration is done:

On other systems like opencast servers, some manual adhoc configuration was done that would be lost on rebuild. At least I haven't found any related code in any Ansible repository.

UBELIX is using the Puppet module postfix of thias for the basic configuration of a sending postfix MTA on all UBELIX hosts. There are subtle differences between a "common usage" and what is needed/setup in UBELIX.

Describe the solution you'd like Create a new Ansible role to manage postfix. The role must be useful for different contexts. Initially the following functional and non-functional requirements are considered the minimal viable product:

### Features
- [X] configures a miminal local postfix as a sending MTA that sends correct messages (all contexts)
- [X] allows manipulating the aliases table (all contexts)
- [ ] allows setting sender_canonical maps of type hash (all context) and ldap (UBELIX context)
- [X] allows setting the relay host to send mail to
- [X] minimal supported OS include Enterprise Linux 7, 8, 9 and Ubuntu 20.04, 22.04
- [X] role is testable using molecule including linting (local and also GH-action on push)

Explicitly not in scope of this initial implementation:

Additional context It's not decided if this roles (any roles) should support postfix defaults and role users have to setup their own configuration or if this role (our roles in general) should have sensible defaults for the UniBE context, i.e. setting relayhost to smtp.unibe.ch default. This has implications on visibility and reuse, see discussion here.

mrolli commented 1 year ago

@grvlbit @msalzmann Are there additional requirements from your side? The link in the issue description sends you to the relevant puppet configuration that is currently active. The module's usage is visiable here.

mrolli commented 1 year ago

Should we drop support for CentOS7 as the HPC did?