Notifications center: Difference between revisions

From Nasqueron Agora
(Created page with "The '''notifications center''' is an intelligent bus to accept payloads from services like GitHub, Phabricator, Jenkins, DockerHub and fire standardized notifications to an AM...")
 
No edit summary
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
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.
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.
[[File:Notifications center providers and consumers.png|918px]]
== 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 ==
* [https://devcentral.nasqueron.org/project/view/58/ Project on DevCentral] :: bugs and next features
* [https://devcentral.nasqueron.org/source/notifications/ Server repository]


== Consume from the notifications center ==
== Consume from the notifications center ==
* [https://devcentral.nasqueron.org/source/viperserv/browse/master/Wearg/ Eggdrop TCL scripts], to run an IRC bot displaying notifications
* [https://devcentral.nasqueron.org/source/viperserv/browse/main/Wearg/ Eggdrop TCL scripts], to run an IRC bot displaying notifications
** [https://github.com/nasqueron/ViperServ/tree/6a146c8d8e1f0d4bb7271671821e839b22446e2d/Wearg Version using directly the broker through rabbitmq-tcl]
** [https://github.com/nasqueron/ViperServ/tree/6a146c8d8e1f0d4bb7271671821e839b22446e2d/Wearg Version using directly the broker through rabbitmq-tcl]
* [https://devcentral.nasqueron.org/diffusion/NOTIFCLI/browse/master/notifications CLI client in Python]
* [https://devcentral.nasqueron.org/diffusion/NOTIFCLI/browse/master/notifications CLI client in Python]
Line 9: Line 25:
You can extend the main intelligent bus with microservices:
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)
* [[/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 (not yet developed)
* [[/Web client]] — Show a notifications stream in real-time in a JS UI (under development)

Latest revision as of 00:21, 11 January 2023

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.

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)