Project

General

Profile

Actions

Feature #12430

open

libmailrados: Mailbox storage on RADOS

Added by Wido den Hollander almost 9 years ago. Updated over 3 years ago.

Status:
In Progress
Priority:
Normal
Assignee:
-
Category:
librados
Target version:
-
% Done:

0%

Source:
other
Tags:
dovecot,mail,mailbox,libmailrados,rados
Backport:
Reviewed:
Affected Versions:
Pull request ID:

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:
  1. Define libmailrados API
  2. Write libmailrados
  3. Write tooling for libmailrados
  4. Implement libmailrados in Dovecot, Courier, Cyrus, etc
Actions #1

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

Actions #2

Updated by Wido den Hollander about 7 years ago

  • Status changed from New to In Progress
Actions #3

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.

Actions #4

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.

Actions #5

Updated by Florian Haas about 7 years ago

OK, thanks Wido!

Actions #7

Updated by Webert Lima over 6 years ago

I would love to test this when available.

Actions #8

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

Actions #9

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!

Actions #10

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,

Actions

Also available in: Atom PDF