Manage device base operating systems resources with caching support.
The intention of this module is to provide low level access to how a balena device image is downloaded, cached and evaluated for freshness.
THIS MODULE IS LOW LEVEL AND IS NOT MEANT TO BE USED BY END USERS DIRECTLY.
Install balena-image-manager
by running:
$ npm install --save balena-image-manager
- manager
- ~get(deviceType, versionOrRange, options) ⇒
Promise.<NodeJS.ReadableStream>
- ~cleanCache() ⇒
Promise
- ~get(deviceType, versionOrRange, options) ⇒
This function saves a copy of the downloaded image in the cache directory setting specified in balena-settings-client.
Kind: inner method of manager
Summary: Get a device operating system image
Returns: Promise.<NodeJS.ReadableStream>
- image readable stream
Access: public
Param | Type | Description |
---|---|---|
deviceType | String |
device type slug or alias |
versionOrRange | String |
can be one of * the exact version number, in which case it is used if the version is supported, or the promise is rejected, * a semver-compatible range specification, in which case the most recent satisfying version is used if it exists, or the promise is rejected, * 'latest' in which case the most recent version is used, including pre-releases, * 'recommended' in which case the recommended version is used, i.e. the most recent version excluding pre-releases, the promise is rejected if only pre-release versions are available, * 'default' in which case the recommended version is used if available, or latest is used otherwise. Defaults to 'latest' . |
options | Object |
|
options?.developmentMode | boolean |
Example
manager.get('raspberry-pi', 'default').then (stream) ->
stream.pipe(fs.createWriteStream('foo/bar.img'))
Useful to manually force an image to be re-downloaded.
Kind: inner method of manager
Summary: Clean the saved images cache
Access: public
Example
manager.cleanCache()
If you're having any problem, please raise an issue on GitHub and the balena team will be happy to help.
Run the test suite by doing:
$ gulp test
- Issue Tracker: github.com/balena-io-modules/balena-image-manager/issues
- Source Code: github.com/balena-io-modules/balena-image-manager
Before submitting a PR, please make sure that you include tests, and that coffeelint runs without any warning:
$ gulp lint
The project is licensed under the Apache 2.0 license.