2.0.3 • Published 3 years ago

booking-docker v2.0.3

Weekly downloads
3
License
MIT
Repository
github
Last release
3 years ago

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 metrics

    metrics

    If the ENABLE_METRICS environment variable is set to true the server will track number of requests and total response time in order to set up basic tracking

    Logger

    const logger = require('booking-docker').logger; The logger logs info and warning to stdout and error 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.

2.0.3

3 years ago

2.0.2

4 years ago

2.0.1

4 years ago

2.0.0

4 years ago

1.0.8

4 years ago

1.0.7

4 years ago

1.0.6

5 years ago

1.0.5

5 years ago

1.0.4

6 years ago

1.0.3

6 years ago

1.0.2

6 years ago

1.0.1

6 years ago

1.0.0

6 years ago