Notifications center

From Nasqueron Agora
Revision as of 00:21, 11 January 2023 by Dereckson (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

The notifications center is an intelligent bus to accept payloads from services like GitHub, Phabricator, Jenkins, DockerHub and fire standardized notifications to an AMQP broker.

Notifications center providers and consumers.png

Quickstart

To run it on Docker, fire two containers, one for RabbitMQ, one for the Notifications center:

   $ mkdir -p /srv/notifications/rabbitmq/lib /srv/notifications/storage
   $ docker network create -d bridge notifications
   $ docker run -dt --network=notifications --name notifications-mq -v /srv/notifications/rabbitmq/lib:/var/lib/rabbitmq nasqueron/rabbitmq
   $ docker run -dt --network=notifications -e BROKER_HOST=notifications-mq -e BROKER_USERNAME=... -e BROKER_PASSWORD=... -e BROKER_VHOST=... -v /srv/notifications/storage:/var/wwwroot/default/storage nasqueron/notifications

Then, you can populate the configuration in /srv/notifications/storage/app and create your user on RabbitMQ matching credentials set in BROKER_* environment variables.

Repositories and useful links

Consume from the notifications center

Extend the notifications center

You can extend the main intelligent bus with microservices:

  • /Delivery API — AMQP to HTTP gateway: allow to consume messages from an AMQP broker in HTTP (under development)
  • /Web client — Show a notifications stream in real-time in a JS UI (under development)