mirror of
https://gitlab.com/wgp/dougal/software.git
synced 2025-12-06 09:57:09 +00:00
The events listener now uses a proper self-consuming queue and the event handlers have been rewritten accordingly. The way this works is that running init() on the handlers library instantiates the handlers and returns two higher-order functions, prepare() and despatch(). A call to the latter of these is appended to the queue with each new incoming event. The handlers have access to a context object (ctx) which may be used to persist data between calls and/or exchange data between handlers. This is used notably to give the handlers access to project configurations, which are themselves refreshed by a project configuration change handler (DetectProjectConfigurationChange).
Dougal web server
Backend server for the user interface
Install
Clone / copy this directory to the destination directory and then run
npm install
Run
In production this should be run as a system service, but for development or a one-off run:
node index.js
or
npm start
Options
The following environment variables affect the behaviour of the application:
NODE_ENV: IfNODE_ENV=testsome output messages are suppressed.HTTP_PORT: Port to listen on. Default is 3000.HTTP_PATH: Path to prepend to the API routes. Default is null.DOUGAL_API_CONFIG: Location of the API configuration file. Default is$HOME/etc/www/config.json.
The server always listens on 127.0.0.1. Use a proxy like Nginx to expose it to the network.
Use
The API specification may be found under ./spec.
Generate the documentation with:
./node_modules/.bin/redoc-cli bundle ./spec/openapi.yaml