[Dovecot] Best practice for sieve script synchronization
We consider deploying a two server active-active setup with dsync replication for ~2500 users.
I was wondering how people handle sieve script synchronization in such setups.
We came up with a few options for syncing:
rsync/unison ~/sieve every x seconds
move sieve dirs to separatate partition and sync with gluster or drbd
patch roundcube managesieve sieve plugin to upload to both managesieve servers (only roundcube can access managesieve in our setup)
store sieve scripts in mysql and patch roundcube managesieve plugin to directly access the db instead of using managesieve (we tried this, but apparently sieve scripts read from db via dovecot dict can't have more than one line? show stopper due to roundcube sieve plugin needing comments to parse the scripts)
wait until Timo/Stephan add additional magic to dsync for sieve scripts as discussed in http://www.dovecot.org/list/dovecot/2011-October/061699.html ;-)
We are tending towards 1) as this seems simplest and most robust solution but before we re-invent the wheel we'd like to "hear" your thoughts...
Thanks Oli
-- This message does not contain horse meat
Am 28.02.2013 09:58, schrieb Oli Schacher:
I was wondering how people handle sieve script synchronization in such setups.
depending on your setup, use sieve with sql
http://hg.rename-it.nl/dovecot-2.1-pigeonhole/file/e9ed5d5cef4b/doc/script-l...
but other solutions may work too, i.e with rsync ssh etc
Best Regards MfG Robert Schetterer
-- [*] sys4 AG
http://sys4.de, +49 (89) 30 90 46 64 Franziskanerstraße 15, 81669 München
Sitz der Gesellschaft: München, Amtsgericht München: HRB 199263 Vorstand: Patrick Ben Koetter, Axel von der Ohe, Marc Schiffbauer Aufsichtsratsvorsitzender: Joerg Heidrich
On Thu, 28 Feb 2013 10:09:50 +0100 Robert Schetterer rs@sys4.de wrote:
depending on your setup, use sieve with sql
http://hg.rename-it.nl/dovecot-2.1-pigeonhole/file/e9ed5d5cef4b/doc/script-l...
we have tried that (see 4) in my post) - have you managed to get it working with multi-line sieve scripts? What system do you use to put new user scripts into the database? Afaik you can't do this directly with managesieve at the moment.
- Oli Schacher dovecot@lists.wgwh.ch:
We consider deploying a two server active-active setup with dsync replication for ~2500 users.
When? Dovecot 2.2 will have a much improved dsync protocol, allowing for sieve replication. IIRC the functionality isn't there yet, but I guess you can either build your own logic or pay Timo to add it to dync.
p@rick
-- This message does not contain horse meat
THAT made my day. :D
-- [*] sys4 AG
http://sys4.de, +49 (89) 30 90 46 64 Franziskanerstraße 15, 81669 München
Sitz der Gesellschaft: München, Amtsgericht München: HRB 199263 Vorstand: Patrick Ben Koetter, Axel von der Ohe, Marc Schiffbauer Aufsichtsratsvorsitzender: Joerg Heidrich
On 28.2.2013, at 10.41, Patrick Ben Koetter p@sys4.de wrote:
- Oli Schacher dovecot@lists.wgwh.ch:
We consider deploying a two server active-active setup with dsync replication for ~2500 users.
When? Dovecot 2.2 will have a much improved dsync protocol, allowing for sieve replication. IIRC the functionality isn't there yet, but I guess you can either build your own logic or pay Timo to add it to dync.
Looks like I'm going to need to add ACL syncing to dsync very soon, so might as well add Sieve script syncing since it's somewhat similar..
On Thu, 28 Feb 2013 15:07:02 +0100 Timo Sirainen tss@iki.fi wrote:
Looks like I'm going to need to add ACL syncing to dsync very soon, so might as well add Sieve script syncing since it's somewhat similar..
That would be very nice!
Is your amazon wishlist at http://www.amazon.com/gp/registry/wishlist/2YLBYVD1RMLE9 up-to-date ? ;-)
On 2013-02-28 9:58, Oli Schacher wrote:
I was wondering how people handle sieve script synchronization in such setups.
We came up with a few options for syncing:
- rsync/unison ~/sieve every x seconds [...] We are tending towards 1) as this seems simplest and most robust solution but before we re-invent the wheel we'd like to "hear" your thoughts...
I am using unison for synchronizing sieve scripts for some years, now. It does what it is supposed to do very well.
Regards, Michael
On 28/02/2013 09:54, Michael Grimm wrote:
On 2013-02-28 9:58, Oli Schacher wrote:
I was wondering how people handle sieve script synchronization in such setups.
We came up with a few options for syncing:
- rsync/unison ~/sieve every x seconds [...] We are tending towards 1) as this seems simplest and most robust solution but before we re-invent the wheel we'd like to "hear" your thoughts...
I am using unison for synchronizing sieve scripts for some years, now. It does what it is supposed to do very well.
There are systems like lsyncd which can watch files for changes and call rsync/unison when they change. This gives you near instant sync, but low overhead. WOuld that help?
Ed W
participants (6)
-
Ed W
-
Michael Grimm
-
Oli Schacher
-
Patrick Ben Koetter
-
Robert Schetterer
-
Timo Sirainen