@nearform/trail-hapi-server
Version:
Server running Hapi plugin for the audit trail logging service
70 lines (46 loc) • 2.72 kB
Markdown
# @nearform/trail-hapi-server
[![npm][npm-badge]][npm-url]
trail-hapi-server is a ready to use [Hapi][hapi] server with the trail-hapi-plugin registered.
It also provides a local instance of [Swagger UI][swagger-ui] to easily check the REST API documentation.
## Install
To install via npm:
npm install @nearform/trail-hapi-server
## Usage
npx run trail-hapi-server
This will start a server on `localhost:8080`. Swagger UI documentation is accessible at `http://localhost:8080/documentation/`.
## Configuration
The server looks for the following environment variables:
- `TRAIL_DB_HOST`: The hostname for the trail database.
- `TRAIL_DB_PORT`: The port number for the trail database.
- `TRAIL_DB_NAME`: The name of the trail database.
- `TRAIL_DB_USERNAME`: The username for the trail database.
- `TRAIL_DB_PASSWORD`: The password for the trail database.
- `TRAIL_DB_POOL_SIZE`: The size of the trail DB pool.
- `TRAIL_DB_TIMEOUT`: The trail database idle timeout, in milliseconds.
- `TRAIL_HTTP_HOST`: The hostname the HTTP server is bound to.
- `TRAIL_HTTP_PORT`: The port the HTTP server is bound to.
- `TRAIL_LOG_LEVEL`: The logging level; defaults to `warn`.
- `TRAIL_DISABLE_REST_API`: Switch indicating whether to disable the REST API.
- `TRAIL_DISABLE_GRAPHQL`: Switch indicating whether to disable the graphql endpoint.
These can also be defined using a `.env` file.
The server also takes the following command line options:
- `--dbHost <host>`: Set the database host name; defaults to `localhost`.
- `--dbPort <port>`: Set the database port; defaults to `5432`.
- `--dbName <name>`: Set the database name; defaults to `trails`.
- `--dbUsername <user>`: Set the database username; defaults to `postgres`.
- `--dbPassword <password>`: Set the database password; defaults to `postgres`.
- `--dbPoolsize <size>`: Set the database pool size; defaults to `10`.
- `--dbTimeout <ms>`: Set the database pool timeout, in milliseconds; defaults to `30000`.
- `--httpHost <host>`: Set the HTTP hostname; defaults to `localhost`.
- `--httpPort <port>`: Set the HTTP port; defaults to `8080`.
- `--logLevel <level>: Set the logger level; defaults to `warn\`.
- `--noRESTAPI`: Switch to disable the REST API.
- `--noGraphQL`: Switch to disable the graphQL endpoint.
Command line options take precedence over environment variable settings.
## License
Copyright nearForm Ltd 2018. Licensed under [MIT][license].
[npm-url]: https://npmjs.org/package/@nearform/trail-hapi-server
[npm-badge]: https://img.shields.io/npm/v/@nearform/trail-hapi-server.svg
[hapi]: https://hapijs.com/
[swagger-ui]: https://swagger.io/swagger-ui/
[license]: ./LICENSE.md