2.0.3 • Published 3 years ago
booking-docker v2.0.3
booking-docker
Docker base functionality for Team Bookings node services.
Bundles an express server and a logger that writes to process.sterr or stdout in json format.
Usage
##server
To start an express server impofrt it
const server = require('booking-docker').server.create();
add your endpoints
server.route('/ping').get((req, res) => {
res.send('pong');
})
Then start it
const app = server.listen(config.server.port, () => {
logger.info({
message: 'application started',
server: config.server
});
});
The server comes with default endpoints for
/health
: that responds with service name, status and uptime/documentation
: listsall routes configured in the server/metrics
: prometheus metricsmetrics
If theENABLE_METRICS
environment variable is set totrue
the server will track number of requests and total response time in order to set up basic trackingLogger
const logger = require('booking-docker').logger;
The logger logsinfo
andwarning
to stdout anderror
to stderr
Config options
Health cors an metrics usage can be controlled via a settings object from v 2.0.0
const serverConfig = {
health: {
overrrideDefault: false
},
cors : {
enabled: true,
corsOptions: {
origin: config.server.corsOrigins,
methods: "GET,HEAD,PUT,PATCH,POST,DELETE,OPTIONS",
optionsSuccessStatus: 200
}
},
metrics: {
enableDefault: true
}
}
If no config is sent the server will revert to defaults via env variables as described above.
All options except health are set to false
by default.