balena-cli
Version:
The official balena Command Line Interface
44 lines (42 loc) • 1.77 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
const core_1 = require("@oclif/core");
const cf = require("../../utils/common-flags");
const lazy_1 = require("../../utils/lazy");
class ConfigInjectCmd extends core_1.Command {
async run() {
const { args: params, flags: options } = await this.parse(ConfigInjectCmd);
const { safeUmount } = await Promise.resolve().then(() => require('../../utils/umount'));
const drive = options.drive || (await (0, lazy_1.getVisuals)().drive('Select the device/OS drive'));
await safeUmount(drive);
const fs = await Promise.resolve().then(() => require('fs'));
const configJSON = JSON.parse(await fs.promises.readFile(params.file, 'utf8'));
const config = await Promise.resolve().then(() => require('balena-config-json'));
await config.write(drive, '', configJSON);
console.info('Done');
}
}
ConfigInjectCmd.description = (0, lazy_1.stripIndent) `
Inject a config.json file to a balenaOS image or attached media.
Inject a 'config.json' file to a balenaOS image file or attached SD card or
USB stick.
Documentation for the balenaOS 'config.json' file can be found at:
https://www.balena.io/docs/reference/OS/configuration/
`;
ConfigInjectCmd.examples = [
'$ balena config inject my/config.json',
'$ balena config inject my/config.json --drive /dev/disk2',
];
ConfigInjectCmd.args = {
file: core_1.Args.string({
description: 'the path to the config.json file to inject',
required: true,
}),
};
ConfigInjectCmd.flags = {
drive: cf.driveOrImg,
};
ConfigInjectCmd.root = true;
ConfigInjectCmd.offlineCompatible = true;
exports.default = ConfigInjectCmd;
//# sourceMappingURL=inject.js.map
;