@artcom/bootstrap-client
TypeScript icon, indicating that this package has built-in type declarations

4.6.2 • Public • Published

Bootstrap Client

Queries bootstrap data from the bootstrap server and initializes an MQTT client and a logger for services.

Usage

Install this library via npm:

npm install @artcom/bootstrap-client

Bootstrap as follows:

const bootstrap = require("@artcom/bootstrap-client")

bootstrap(bootstrapUrl, serviceId).then(async ({ logger, mqttClient, queryConfig, data }) => {
  // log something
  logger.info("Hello world!")

  // publish "bar" to topic "foo"
  mqttClient.publish("foo", "bar")

  // query some configurations with (optional) options
  const myConfig = await queryConfig("config/path", { version: "master", listFiles: false, includeCommitHash = false, parseJSON = true })

  // use raw bootstrap data
  logger.info(`I am running on device: ${data.device}`)
})

The following additional options are supported:

  • timeout: is the time in milliseconds until the query times out, default: 2000
  • retryDelay: is the time in milliseconds until the query is sent again, default: 10000
  • debugBootstrapData: can be set to skip querying data from the bootstrap server for debugging, default: null

Bootstrap Data

The client expects the following properties in the bootstrap server response or debugBootstrapData:

{
  tcpBrokerUri: string,
  httpBrokerUri: string,
  configServerUri: string,
  device: string
}

Checkout the bootstrap server documentation for details.

Readme

Keywords

Package Sidebar

Install

npm i @artcom/bootstrap-client

Weekly Downloads

9

Version

4.6.2

License

MIT

Unpacked Size

12.5 kB

Total Files

9

Last publish

Collaborators

  • d-lin
  • j-era
  • becks-artcom
  • utileetdulce