@nearform/trail-fastify-server

Server running Fastify plugin for the audit trail logging service

Usage no npm install needed!

<script type="module">
  import nearformTrailFastifyServer from 'https://cdn.skypack.dev/@nearform/trail-fastify-server';
</script>

README

@nearform/trail-fastify-server

npm

trail-fastify-server is a ready to use Fastify server with the trail-fastify-plugin registered.

It also provides a local instance of Swagger UI to easily check the REST API documentation.

Install

To install via npm:

npm install @nearform/trail-fastify-server

Usage

npx run trail-fastify-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_CORS_ORIGIN: The value for Access-Control-Allow-Origin header as per fastify-cors plugin.
  • TRAIL_USE_REST_API: Flag indicating whether to mount the REST API.
  • TRAIL_USE_GRAPHQL: Flag indicating whether to mount the graphql endpoint.

These can also be defined using a .env file.

The server also takes the following command line options:

  • --dbHost <host>: The hostname for the trail database. Defaults to localhost.
  • --dbPort <port>: The port number for the trail database. Defaults to 5432.
  • --dbName <name>: The name of the trail database. Defaults to trails.
  • --dbUsername <user>: The username for the trail database. Defaults to postgres.
  • --dbPassword <password>: The password for the trail database. Defaults to postgres.
  • --dbPoolsize <size>: The size of the trail DB pool. Defaults to 10.
  • --dbTimeout <ms>: The trail database idle timeout, in milliseconds. Defaults to 30000.
  • --httpHost <host>: The hostname the HTTP server is bound to. Defaults to localhost.
  • --httpPort <port>: The port the HTTP server is bound to. Defaults to 8080.
  • --corsOrigin <origin>: set value for Access-Control-Allow-Origin header. Defaults to ``.
  • --useRESTAPI: Flag indicating whether to start with the Trail's REST API. Defaults to true.
  • --useGraphql: Flag indicating whether to start with the graphql query endpoint. Defaults to true.

Command line options take precedence over environment settings.

License

Copyright nearForm Ltd 2020. Licensed under MIT.