TL;DR: 🚩🚩🚩🚩🚩🚩🚩🚩🚩🚩🚩🚩

Sure, this affects medium/large/Enterprise folks (that's where I was using Director -- though currently retired, so no existing self-interest in this email).

This will also affect *any* installation with a whopping two dovecot servers with mdbox backends talking to a single linux NFS server as well. That's not exactly "Enterprise". Replication is great, but it is not a replacement for Director (nor is any sort of load balancing, regardless of the confused comments in this thread about nginx).

I think the real issue here is that Dovecot is removing existing, long-standing, critical functionality from the open source version. That is a huge, huge red flag.

I'm also a little bewildered by the comment "Director never worked especially well". Worked great for me, at scale, for years. Complex? Yup, but that was the price of mdbox (worth it). And if you're setting up a proxy cluster (instead of a full Director cluster) in front of your IMAP servers, you've already tackled 90% of the complexity anyway (i.e. using Director isn't the hard part).

This *feels" to me like a parent company looking to remove features from the open source version in order to add feature differentiation to the paid version.

I've loved the Dovecot project for over a decade and a half. And incidentally I have a very warm spot in my heart for Timo and Aki, thanks to Dovecot and especially this mailing list. 

I've also loved the PowerDNS project for a decade and a half, so this removal of existing functionality is doubly worrisome. I'd like both projects to be monetisable and profitable enough to their parent so that they continue on for a very, very long time.

But removing long-standing features is a bad look. Please reconsider this decision.


On Thu, Oct 27, 2022 at 4:04 AM Jan Bramkamp <crest@rlwinm.de> wrote:
On 27.10.22 04:24, Timo Sirainen wrote:
> 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.
Thank you for putting what is about to be lost to the community edition
into an operational perspectiv: no reason to panic. Nobody is taking
replicated active-passive pairs from small to medium scale operators.
Neither are the hooks required for more fancy load balancing and
steering on the chopping block.