balena-image-manager
v10.0.1
Published
Manage device base operating systems resources with caching support
Downloads
2,352
Maintainers
Readme
balena-image-manager
Manage device base operating systems resources with caching support.
Role
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.
Installation
Install balena-image-manager
by running:
$ npm install --save balena-image-manager
Documentation
- manager
- ~get(deviceType, versionOrRange, options) ⇒ Promise.<NodeJS.ReadableStream>
- ~cleanCache() ⇒ Promise
manager~get(deviceType, versionOrRange, options) ⇒ Promise.<NodeJS.ReadableStream>
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'))
manager~cleanCache() ⇒ Promise
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()
Support
If you're having any problem, please raise an issue on GitHub and the balena team will be happy to help.
Tests
Run the test suite by doing:
$ gulp test
Contribute
- 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
License
The project is licensed under the Apache 2.0 license.