Feature #12430
openlibmailrados: Mailbox storage on RADOS
0%
Description
A long outstanding idea is that we want to store mail in RADOS.
Dovecot is one of the most popular IMAP/POP3 servers and the Pro version (paid) supports Object Storage. Although it says it supports Ceph, it doesn't. It supports Amazon S3 and via the RADPS Gateway Ceph works.
That is however not efficient and will not scale as good as native RADOS does. Also, Dovecot Pro is NOT Open Source.
My idea is basically: Dovecot -> libmailrados -> librados -> Ceph
Initially we would need to write libmailrados which supports:- Creating Mailboxes
- Listing Mailboxes
- Storing E-Mail
- Fetching E-Mail
- Labeling E-mails
- Importing/Exporting to Maildir
This library should support all kinds of things and also having tooling.
After the library is finished it can not only be integrated into Dovecot, but into various other IMAP/POP3 servers.
It doesn't have to be integrated into Postfix, since Postfix can use Dovecot as a Delivery Agent which then handles writing the e-mail to RADOS.
So in libmailrados we abstract the Mailbox <> RADOS part. And Dovecot will only talk to libmailrados.
Steps:- Define libmailrados API
- Write libmailrados
- Write tooling for libmailrados
- Implement libmailrados in Dovecot, Courier, Cyrus, etc
Updated by Wido den Hollander over 7 years ago
See: https://github.com/42on/librmb
Work will start in 2017 backed by a large sponsor
Updated by Wido den Hollander about 7 years ago
- Status changed from New to In Progress
Updated by Florian Haas about 7 years ago
Wido, is there new information on this? As far as I can see, there haven't been any commits to the GitHub repo yet.
Updated by Wido den Hollander about 7 years ago
Florian Haas wrote:
Wido, is there new information on this? As far as I can see, there haven't been any commits to the GitHub repo yet.
Still working on this. I don't have any information right now which I can discuss publicly, but I hope to be able to do so soon.
Updated by Florian Haas over 6 years ago
Just adding a few links here, for other interested parties, courtesy of Danny:
Updated by Webert Lima over 6 years ago
I would love to test this when available.
Updated by Florian Haas over 6 years ago
Webert Lima wrote:
I would love to test this when available.
As I understand it you already can: https://github.com/ceph-dovecot/dovecot-ceph-plugin/blob/master/README.md
Updated by Webert Lima over 6 years ago
Florian Haas wrote:
Webert Lima wrote:
I would love to test this when available.
As I understand it you already can: https://github.com/ceph-dovecot/dovecot-ceph-plugin/blob/master/README.md
Awesome! I'll work on a test environment. Thanks!
Updated by Omar Mazouz over 3 years ago
Hi,
Is there any news about this feature?
We are looking for a solution / plugin to use object storage with Cyrus or Dovecot.
Many thanks,