Is the Doveadm HTTP API considered stable for production use?
Hi,
I'm running 2.2.34 in production (installed from Debian stretch backports) and want to rework some scripts. Can the HTTP API be considered stable in 2.2.34 please? The wiki says it is "considered experimental in v2.2.22" so I thought I'd check before writing API calls rather than a wrapper around doveadm!
-- James Beck Andrews & Arnold Ltd Tel: 03333 400999
If you don’t want to use the HTTP API, you can use the raw doveadm protocol.
https://wiki.dovecot.org/Design/DoveadmProtocol
-FG
On Aug 22, 2018, at 5:55 AM, James Beck james.beck@aa.net.uk wrote:
Hi,
I'm running 2.2.34 in production (installed from Debian stretch backports) and want to rework some scripts. Can the HTTP API be considered stable in 2.2.34 please? The wiki says it is "considered experimental in v2.2.22" so I thought I'd check before writing API calls rather than a wrapper around doveadm!
-- James Beck Andrews & Arnold Ltd Tel: 03333 400999
On Wed, Aug 22, 2018 at 09:54:44AM -0400, Felipe Gasper wrote:
If you don’t want to use the HTTP API, you can use the raw doveadm protocol.
https://wiki.dovecot.org/Design/DoveadmProtocol
-FG
Thanks, I didn't know about that. I suppose testing the HTTP API and then switching to the raw doveadm protocol over TCP if it turns out "crashy" wouldn't mean too much work.
-- James Beck Andrews & Arnold Ltd Tel: 03333 400999
On Aug 23, 2018, at 8:14 AM, James Beck james.beck@aa.net.uk wrote:
On Wed, Aug 22, 2018 at 09:54:44AM -0400, Felipe Gasper wrote: If you don’t want to use the HTTP API, you can use the raw doveadm protocol.
https://wiki.dovecot.org/Design/DoveadmProtocol
-FG
Thanks, I didn't know about that. I suppose testing the HTTP API and then switching to the raw doveadm protocol over TCP if it turns out "crashy" wouldn't mean too much work.
Why use the HTTP API at all?
I guess it helps integrators who don’t have direct socket access, but doveadm is much lighter than HTTP and so should always be more performant .. and it should be more stable as well.
(We connect via local socket, which will also avoid TCP overhead .. don’t know if that helps you or not.)
-FG
On 23.08.18 15:35, Felipe Gasper wrote:
On Aug 23, 2018, at 8:14 AM, James Beck james.beck@aa.net.uk wrote:
On Wed, Aug 22, 2018 at 09:54:44AM -0400, Felipe Gasper wrote: If you don’t want to use the HTTP API, you can use the raw doveadm protocol.
https://wiki.dovecot.org/Design/DoveadmProtocol
-FG Thanks, I didn't know about that. I suppose testing the HTTP API and then switching to the raw doveadm protocol over TCP if it turns out "crashy" wouldn't mean too much work. Why use the HTTP API at all?
How about JSON. :)
Good luck, Reio
On Aug 23, 2018, at 8:44 AM, Reio Remma reio@mrstuudio.ee wrote:
On 23.08.18 15:35, Felipe Gasper wrote:
On Aug 23, 2018, at 8:14 AM, James Beck james.beck@aa.net.uk wrote:
On Wed, Aug 22, 2018 at 09:54:44AM -0400, Felipe Gasper wrote: If you don’t want to use the HTTP API, you can use the raw doveadm protocol.
https://wiki.dovecot.org/Design/DoveadmProtocol
-FG Thanks, I didn't know about that. I suppose testing the HTTP API and then switching to the raw doveadm protocol over TCP if it turns out "crashy" wouldn't mean too much work. Why use the HTTP API at all?
How about JSON. :)
JSON and HTTP headers do make it easy to get started, but they’re inefficient compared to doveadm. JSON in particular limits us to UTF-8 text, so any application that needs to send non-UTF-8 payloads would have to apply an encoding layer. I’ve not looked into the HTTP API, so I don’t know what workaround might be in place to circumvent that limitation.
<shrug> Different strokes for different folks, I guess. :)
-F
Thanks all for the responses!
It sounds safe to use so I'll give it a go :)
The reason for using the API is that I'm managing replication pairs behind director, on their own private LAN, and I want to be able to have a single place I can connect in to to query them. I'm hoping this idea will make it simpler to manage than running the same scripts multiple times in multiple places.
-- James Beck Andrews & Arnold Ltd Tel: 03333 400999
On 2018-08-22 11:55, James Beck wrote:
Hi,
I'm running 2.2.34 in production (installed from Debian stretch backports) and want to rework some scripts. Can the HTTP API be considered stable in 2.2.34 please?
I use it in 2.3 and it works just fine :)
I might have used it in 2.2 as well, I'm not 100% sure though.
-- Tom
On 22 Aug 2018, at 18.55, James Beck james.beck@aa.net.uk wrote:
Hi,
I'm running 2.2.34 in production (installed from Debian stretch backports) and want to rework some scripts. Can the HTTP API be considered stable in 2.2.34 please? The wiki says it is "considered experimental in v2.2.22" so I thought I'd check before writing API calls rather than a wrapper around doveadm!
I think it can be now considered stable. We even have couple of environments where it's actively used in production.
Sami
participants (5)
-
Felipe Gasper
-
James Beck
-
Reio Remma
-
Sami Ketola
-
Tom Sommer