27 Oct
2022
27 Oct
'22
5:24 a.m.
Director never worked especially well, and for most use cases it's just unnecessarily complex. I think usually it could be replaced with:
- Database (sql/ldap/whatever) containing user -> backend table.
- Configure Dovecot proxy to use this database as passdb.
- For HA change dovemon to update the database if backend is down to move users elsewhere
- When backend comes up, move users into it. Set delay_until extra field for user in passdb to 5 seconds into future and kick the user in its old backend (e.g. via doveadm HTTP API).
All this can be done with existing Dovecot. Should be much easier to build a project doing this than forking director.