4.2.4 • Published 5 years ago

resin-device-init v4.2.4

Weekly downloads
21
License
Apache-2.0
Repository
github
Last release
5 years ago

resin-device-init

npm version dependencies Build Status

Join our online chat at Gitter chat

Configure and initialize devices using device specs.

Role

The intention of this module is to provide low level access to how Resin.io configures and initialises devices using device specs.

THIS MODULE IS LOW LEVEL AND IS NOT MEANT TO BE USED BY END USERS DIRECTLY.

Installation

Install resin-device-init by running:

$ npm install --save resin-device-init

Documentation

init.configure(image, device, config, options) ⇒ Promise.<EventEmitter>

This function injects config.json and network settings into the device.

Kind: static method of init
Summary: Configure an image with an application
Returns: Promise.<EventEmitter> - configuration event emitter
Access: public

ParamTypeDescription
imageStringpath to image
deviceStringtype - device type slug
configObjecta fully populated config object
optionsObjectconfiguration options

Example

init.configure('my/rpi.img', 'raspberrypi', config).then (configuration) ->

	configuration.on('stdout', process.stdout.write)
	configuration.on('stderr', process.stderr.write)

	configuration.on 'state', (state) ->
		console.log(state.operation.command)
		console.log(state.percentage)

	configuration.on 'error', (error) ->
		throw error

	configuration.on 'end', ->
		console.log('Configuration finished')

init.initialize(image, deviceType, options) ⇒ Promise.<EventEmitter>

Kind: static method of init
Summary: Initialize an image
Returns: Promise.<EventEmitter> - initialization event emitter
Access: public

ParamTypeDescription
imageStringpath to image
deviceTypeStringdevice type slug
optionsObjectconfiguration options

Example

init.initialize('my/rpi.img', 'raspberry-pi', network: 'ethernet').then (configuration) ->

	configuration.on('stdout', process.stdout.write)
	configuration.on('stderr', process.stderr.write)

	configuration.on 'state', (state) ->
		console.log(state.operation.command)
		console.log(state.percentage)

	configuration.on 'burn', (state) ->
		console.log(state)

	configuration.on 'error', (error) ->
		throw error

	configuration.on 'end', ->
		console.log('Configuration finished')

Support

If you're having any problem, please raise an issue on GitHub and the Resin.io team will be happy to help.

Tests

Create an .env file and put the following lines in it, replacing the asterisks with the valid credentials for a test user on resinstaging.io

RESIN_E2E_EMAIL=***
RESIN_E2E_PASSWORD=***

Run the test suite by doing:

$ npm test

Contribute

Before submitting a PR, please make sure that you include tests, and that coffeelint runs without any warning:

$ gulp lint

You can then run the tests with:

npm test

License

The project is licensed under the Apache 2.0 license.