Public | Automated Build

Last pushed: a year ago
Short Description
a minimal service exposing a federated BusMQ bus with publishing via HTTP
Full Description

blinkmobile / busmq

a minimal service exposing a federated BusMQ bus with publishing via HTTP

Web Service API

GET /bus/federated

This is a WebSockets endpoint, used with federated BusMQ.
You may also access this via the BusMQ browser library.

Clients must specify a matching secret string when connecting via federated BusMQ, see BUSMQ_SECRET below.

POST /publish/{topic}

Publish the POST body (which must be valid JSON) to the BusMQ pub/sub topic matching the provided {topic} URL path segment.

Clients must specify a matching Authorization header value when making HTTP requests, see BUSMQ_SECRET below.

For example:

Authorization: mysecret

GET /service-status

See upstream hapi-and-healthy.

No authentication required.

BusMQ Publish / Subscribe Topics


This service responds to "marco" messages with a "polo" message.
We recommend that clients using this topic behave this way, too.

This topic is useful for rough census and basic heart-beat functionality.

Environment Variables

For connection details, we follow Docker's legacy container link conventions, instead of inventing our own approach.


Specifies the shared secret required to connect. Defaults to "mysecret".
We highly recommend that you customise this value for production use.


Specifies the ports to bind HTTP and HTTPS listeners to. Defaults to 80 and 443. Useful to change these for testing purposes.


Specifies the domain name to register for a LetsEncrypt certificate. This will use the LetsEncrypt staging environment if NODE_ENV is not "production". If this is not set, then the web service will use unencrypted HTTP.


Specifies a contact email address to register with LetsEncrypt.


Set this to "production" to enable live production deployment features.


Specifies the Redis hostname or IP address. No default. Mandatory.


Specifies the Redis port number. Defaults to "6379".


Specifies the web service to use for tests. Used during npm test.
Our tests assume that the web service has Redis settings, too.


Docker Pull Command
Source Repository