udaru-trail integration service

Usage no npm install needed!

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



npm travis coveralls

udaru-trail is a small package which adds trail auditing capabilities to udaru via its hooks.

Integrating into udaru

Once you have udaru and trail instantiated, simply call the register function:

const udaru = require('@nearform/udaru-core')
const { TrailsManager } = require('@nearform/trail-core')
const { register } = require('@nearform/udaru-trail')

const udaruInstance = udaru()
const trailInstance = new TrailsManager()

// The third argument is option and is a list of udaru hooks you want to log. If omitted, all supported udaru hooks will be logged.
register(udaruInstance, trailInstance, ['authorize:isUserAuthorized'])

Integrating into udaru and HAPI

Integration is supported via udaru-hapi-plugin.

Register the UdaruTrailHapiPlugin after UdaruPlugin and after TrailPlugin and BEFORE starting the server:

const TrailPlugin = require('@nearform/trail-hapi-plugin')
const UdaruPlugin = require('@nearform/udaru-hapi-plugin')
const { UdaruTrailHapiPlugin } = require('@nearform/udaru-trail')
const Hapi = require('hapi')

const server = Hapi.Server({port: 3000})

await this.server.register({plugin: UdaruPlugin})
await this.server.register({plugin: TrailPlugin})
await this.server.register({plugin: UdaruTrailHapiPlugin})

await this.server.start()

Testing, benching & linting

Before running tests, make sure you have a working test environment for both udaru-core and trail-core packages.

To run tests:

npm run test

Note: running the tests will output duplicate keys errors in Postgres logs, this is expected, as the error handling of those cases is part of what is tested.

To lint the repository:

npm run lint

To fix (most) linting issues:

npm run lint -- --fix

To create coverage reports:

npm run coverage


Copyright nearForm Ltd 2018. Licensed under MIT.