Balena device registration utilities.
Install balena-register-device by running:
$ npm install --save balena-register-deviceBalena-Register-Device exports a factory function, which must be called with a dependencies object, containing a configured balena-request instance.
Example:
deviceRegister = require('balena-register-device')({
request: request # An instantiated balena-request instance
})Generate a random key, useful for both uuid and api key.
Example:
randomKey = deviceRegister.generateUniqueKey()
# randomKey is a randomly generated key that can be used as either a uuid or an api key
console.log(randomKey)Register a device with Balena.
Notice: You can use this function as a promise if you omit the callback argument.
The options object requires the following properties:
Number userId: The user id - optional.Number applicationId: The application id.String uuid: The device's UUID.String deviceType: The device type slug.String deviceApiKey: The API key to create for the newly registered device.String provisioningApiKey: The provisioning API Key.String apiEndpoint: The API endpoint.
The callback gets called with two arguments: (error, deviceInfo), where deviceInfo is an object containing one property: the id for the device that was just registered.
Example:
deviceRegister.register
userId: 199
applicationId: 10350
uuid: '...'
deviceType: 'raspberry-pi'
deviceApiKey: '...'
provisioningApiKey: '...'
apiEndpoint: 'https://api.balena-cloud.com'
, (error, deviceInfo) ->
throw error if error?
console.log(deviceInfo) # { id }Run the test suite by doing:
$ npm test- Issue Tracker: github.com/balena-io-modules/balena-register-device/issues
- Source Code: github.com/balena-io-modules/balena-register-device
Before submitting a PR, please make sure that you include tests, and that coffeelint runs without any warning:
$ npm run lintIf you're having any problem, please raise an issue on GitHub.
The project is licensed under the Apache 2.0 license.