Finish setting up ejabberd cluster #243

Closed
opened 2020-11-23 10:23:29 +00:00 by raucao · 1 comment
Owner

For some reason we hadn't documented this when we started setting up the cluster a couple of months ago. We got to the point where we have ejabberd running on both andromeda (the current master) and draco (in a VM, the new cluster node).

However, there is still a problem with HTTP uploads (i.e. posting pictures and other files to chats from clients) failing when connected to the wrong node.

I have asked in the XMPP Service Operators channel, and the common solution to this problem is to use the external uploads feature, where you post to a dedicated service using a lightweight protocol that just requires a secret token for POSTing. The ejabberd HTTP uploads module supports this already.

Behind that POST API, you can then obviously host/replicate/etc. that data in any way you want. As we already use nginx for everything, I think it would be easiest to just set up this Perl module with it:

https://github.com/weiss/ngx_http_upload

For some reason we hadn't documented this when we started setting up the cluster a couple of months ago. We got to the point where we have ejabberd running on both andromeda (the current master) and draco (in a VM, the new cluster node). However, there is still a problem with HTTP uploads (i.e. posting pictures and other files to chats from clients) failing when connected to the wrong node. I have asked in the XMPP Service Operators channel, and the common solution to this problem is to use the external uploads feature, where you post to a dedicated service using a lightweight protocol that just requires a secret token for POSTing. The ejabberd HTTP uploads module supports this already. Behind that POST API, you can then obviously host/replicate/etc. that data in any way you want. As we already use nginx for everything, I think it would be easiest to just set up this Perl module with it: https://github.com/weiss/ngx_http_upload
raucao added the
feature
label 2020-11-23 10:23:29 +00:00
raucao self-assigned this 2020-11-23 10:23:29 +00:00
greg was assigned by raucao 2020-11-23 10:23:29 +00:00
raucao changed title from Set up ejabberd cluster to Finish setting up ejabberd cluster 2020-11-23 10:30:42 +00:00
Author
Owner

Another thing we hadn't considered is how this works with Tor. I guess one of the ejabberd nodes/VMs should be designated a Tor hidden service role, with the privkeys stored in an encrypted data bag. It's enough to connect to just that one from Tor then.

Another thing we hadn't considered is how this works with Tor. I guess one of the ejabberd nodes/VMs should be designated a Tor hidden service role, with the privkeys stored in an encrypted data bag. It's enough to connect to just that one from Tor then.
Sign in to join this conversation.
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: kosmos/chef#243
No description provided.