Differences between revisions 3 and 4
Revision 3 as of 2014-08-26 17:13:31
Size: 5393
Comment: add deployment schematics
Revision 4 as of 2014-08-26 17:13:56
Size: 5418
Comment: Add TOC
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
<<TableOfContents()>>

fedmsg Deployment

fedmsg has proper packages in the Debian archive. Let's actually get it deployed on Debian Infrastructure.

Packages

  • fedmsg-gateway: listens to several emitters and resends messages on a single socket
  • fedmsg-relay: permanent daemon sitting on the bus and re-emitting messages for ephemeral commands
  • fedmsg: command-line utilities
  • python-datanommer.{models,commands,consumer}: database storage component

Working around firewall issues

By default, fedmsg binds one (or several) PUB/SUB 0mq sockets on the senders. This adds a listening service to the message sender, which is often undesirable.

fedmsg also provides a relay component, which sits on the bus (binds a PUB/SUB socket), and listens to incoming messages on a 0mq socket. Ephemeral commands can then send their messages on that socket instead of having to listen to a port. However, the relay protocol isn't standard and isn't really firewall friendly (not on a common port).

The proposition is to write a web app that would allow services to push messages through a HTTP POST.

Letting new services push messages

The web app would also serve as a service registration system. Any DD could register a service, and either have it send messages through HTTP POST, or have a central fedmsg gateway go listen to the messages at the source.

fedmsg.d.n deployment

                                              +----------------------+-----------------------------------+
                                              |fedmsg.debian.net     |                                   |
                                              +----------------------+                                   |
     +---------------+------+                 |                                                          |
     |mentors.d.n    |      |                 |                                                          |
     +---------------+      |                 |                                                          |
     |                      |                 |                                                          |
     |       Cron runner    +-port 3000-------+----------------------------------+                       |
     |       WSGI 1-4       +-port 3001-------+---------------------------------+|                       |
     |                      +-port 3002-------+--------------------------------+||                       |
     |                      +-port 3003-------+-------------------------------+|||                       |
     |                      +-port 3004-------+------------------------------+||||                       |
     +----------------------+                 |                              |||||                       |
                                              |                              |||||     +-----------------+                   -----------
                                              |                              ||||+---->|                 |                --/           \--
                                              |                              |||+----->|                 |              -/                 \-
                                              |                              ||+------>|  fedmsg-gateway |             /    rest of the      \
                                              |                              |+------->|                 +-port 9940-> |       world         |
                                              |                              +-------->|                 |             \                     /
                                              |                                        |                 |              -\                 /-
                                              |                                      +>|                 |                --\           /--
                                              |                                      | +-----------------+                   -----------
                                              +---------------+--------------+       |                   |
       +------------------------+             |               |              |       |                   |
       |                        |             | d-d-changes   |              |       |                   |
       | mailing lists subscr.  +------------>| d-bpo-changes | debmessenger +-3000--+                   |
       |                        |             | d-bugs-dist   |              |                           |
       +------------------------+             | ...           |              |                           |
                                              |               |              |                           |
                                              +---------------+--------------+                           |
                                              |                                                          |
                                              |                                                          |
                                              |                                                          |
                                              +----------------------------------------------------------+