18.12.2024 16:16, Simon Richter wrote:
Postfix's "master" process effectively implements an orchestrator for a microservice architecture, similar to what systemd does. This could be
replaced by systemd by writing a generator that creates units from master.cf.
Simply converting the default master.cf to unit files and shipping these as default would still be a massive regression, because it would obsolete a
lot of documentation on how the Postfix system is orchestrated and how to integrate new services like clamav and spamassassin or to deliver to courier.
All of these recipes would become "instead of this one line in master.cf, you need to create a service unit, socket unit and possibly timer unit." My
expectation would be that the next sentence would be "Please refer to the systemd documentation on how to do that.", and while the systemd
documentation is exhaustive, it is significantly less targeted to the operation of mail systems than the manual page for the master.cf configuration
file format.
Yes Simon, this is a very good summary, exactly to the point. Adding
restrictions on top of postfix master(8) is ineffective, it should be
done at postfix service level and sometimes context level.
Implementing each postfix service as a separate service in systemd
is an interesting idea, and I even tried to implement it, because it
feels.. "right". It definitely needs code changes within postfix
itself though.
/mjt