@artcom/bootstrap-client
v4.6.2
Published
A library which queries and processes bootstrap data from a bootstrap server.
Downloads
81
Readme
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.