balena-cli 23.2.7-build-validate-installer-secureboot-b46212b61823e87ee7a7b1931c4bbc435a40ba2e-1 → 23.2.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -2
- package/build/commands/os/configure.js +16 -9
- package/build/commands/os/configure.js.map +1 -1
- package/build/utils/config.js +0 -5
- package/build/utils/config.js.map +1 -1
- package/npm-shrinkwrap.json +2 -2
- package/oclif.manifest.json +50 -50
- package/package.json +2 -2
- package/src/commands/os/configure.ts +23 -17
- package/src/utils/config.ts +0 -6
package/CHANGELOG.md
CHANGED
|
@@ -6,9 +6,9 @@ This project adheres to [Semantic Versioning](http://semver.org/).
|
|
|
6
6
|
|
|
7
7
|
## 23.2.7 - 2025-12-06
|
|
8
8
|
|
|
9
|
-
* Add test for os configure --config using secureboot [Thodoris Greasidis]
|
|
10
|
-
* os configure, device init: Validate that the config.json's installer.secureboot is a boolean when set [Thodoris Greasidis]
|
|
11
9
|
* Update @balena/lint to 9.3.7 to support async disposables [Thodoris Greasidis]
|
|
10
|
+
* Add tests for os configure --config [Thodoris Greasidis]
|
|
11
|
+
* os configure: Fix asking interactive questions when --config is used [Thodoris Greasidis]
|
|
12
12
|
|
|
13
13
|
## 23.2.6 - 2025-12-05
|
|
14
14
|
|
|
@@ -58,10 +58,21 @@ class OsConfigureCmd extends core_1.Command {
|
|
|
58
58
|
await validateDevOptionAndWarn(developmentMode, osVersion);
|
|
59
59
|
const { validateSecureBootOptionAndWarn } = await Promise.resolve().then(() => require('../../utils/config'));
|
|
60
60
|
await validateSecureBootOptionAndWarn(secureBoot, deviceTypeSlug, osVersion);
|
|
61
|
-
const
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
61
|
+
const _ = await Promise.resolve().then(() => require('lodash'));
|
|
62
|
+
const baseAnswers = configJson == null
|
|
63
|
+
? await askQuestionsForDeviceType(deviceTypeManifest, options)
|
|
64
|
+
: {
|
|
65
|
+
appUpdatePollInterval: configJson.appUpdatePollInterval,
|
|
66
|
+
network: !configJson.wifiSsid && !configJson.wifiKey ? 'ethernet' : 'wifi',
|
|
67
|
+
..._.pick(configJson, ['wifiSsid', 'wifiKey']),
|
|
68
|
+
};
|
|
69
|
+
const answers = {
|
|
70
|
+
...baseAnswers,
|
|
71
|
+
deviceType: deviceTypeSlug,
|
|
72
|
+
version: osVersion,
|
|
73
|
+
developmentMode: developmentMode,
|
|
74
|
+
secureBoot: secureBoot,
|
|
75
|
+
};
|
|
65
76
|
if (configJson == null) {
|
|
66
77
|
answers.provisioningKeyName = options['provisioning-key-name'];
|
|
67
78
|
answers.provisioningKeyExpiryDate =
|
|
@@ -70,7 +81,6 @@ class OsConfigureCmd extends core_1.Command {
|
|
|
70
81
|
configJson = await generateDeviceConfig(device, undefined, answers);
|
|
71
82
|
}
|
|
72
83
|
else {
|
|
73
|
-
answers.deviceType = deviceTypeSlug;
|
|
74
84
|
configJson = await generateApplicationConfig(app, answers);
|
|
75
85
|
}
|
|
76
86
|
if (options['initial-device-name'] != null &&
|
|
@@ -235,7 +245,7 @@ async function checkDeviceTypeCompatibility(deviceType, app) {
|
|
|
235
245
|
}
|
|
236
246
|
}
|
|
237
247
|
}
|
|
238
|
-
async function askQuestionsForDeviceType(deviceType, options
|
|
248
|
+
async function askQuestionsForDeviceType(deviceType, options) {
|
|
239
249
|
var _a;
|
|
240
250
|
const answerSources = [
|
|
241
251
|
{
|
|
@@ -247,9 +257,6 @@ async function askQuestionsForDeviceType(deviceType, options, configJson) {
|
|
|
247
257
|
const defaultAnswers = {};
|
|
248
258
|
const questions = (_a = deviceType.options) !== null && _a !== void 0 ? _a : [];
|
|
249
259
|
let extraOpts;
|
|
250
|
-
if (configJson != null) {
|
|
251
|
-
answerSources.push(configJson);
|
|
252
|
-
}
|
|
253
260
|
if (!options.advanced) {
|
|
254
261
|
const advancedGroup = questions.find((question) => question.name === 'advanced' && question.isGroup);
|
|
255
262
|
if (advancedGroup != null && Object.keys(advancedGroup).length > 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configure.js","sourceRoot":"","sources":["../../../src/commands/os/configure.ts"],"names":[],"mappings":";;AAiBA,sCAAmD;AAGnD,yCAA6C;AAC7C,+CAA+C;AAC/C,2CAAyE;AACzE,mDAI8B;AAG9B,MAAM,kBAAkB,GAAG,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"configure.js","sourceRoot":"","sources":["../../../src/commands/os/configure.ts"],"names":[],"mappings":"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"}
|
package/build/utils/config.js
CHANGED
|
@@ -47,7 +47,6 @@ function populateDeviceConfig(config, device, deviceApiKey) {
|
|
|
47
47
|
config.uuid = device.uuid;
|
|
48
48
|
}
|
|
49
49
|
async function readAndValidateConfigJson(path) {
|
|
50
|
-
var _a;
|
|
51
50
|
const fs = await Promise.resolve().then(() => require('fs/promises'));
|
|
52
51
|
const [rawConfig, { ExpectedError }] = await Promise.all([
|
|
53
52
|
fs.readFile(path, 'utf8'),
|
|
@@ -64,10 +63,6 @@ async function readAndValidateConfigJson(path) {
|
|
|
64
63
|
configJson.deviceType === '') {
|
|
65
64
|
throw new ExpectedError('Missing or invalid deviceType in config.json');
|
|
66
65
|
}
|
|
67
|
-
const secureboot = (_a = configJson.installer) === null || _a === void 0 ? void 0 : _a.secureboot;
|
|
68
|
-
if (secureboot != null && typeof secureboot !== 'boolean') {
|
|
69
|
-
throw new ExpectedError(`Invalid installer.secureboot in config.json: value must be a boolean, found ${typeof secureboot}: '${secureboot}'`);
|
|
70
|
-
}
|
|
71
66
|
return configJson;
|
|
72
67
|
}
|
|
73
68
|
async function validateDevOptionAndWarn(dev, version, logger) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":";;AA4DA,8DAuCC;AAED,oDA4BC;AAED,oDAgBC;AAED,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"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"}
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "balena-cli",
|
|
3
|
-
"version": "23.2.7
|
|
3
|
+
"version": "23.2.7",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "balena-cli",
|
|
9
|
-
"version": "23.2.7
|
|
9
|
+
"version": "23.2.7",
|
|
10
10
|
"hasInstallScript": true,
|
|
11
11
|
"license": "Apache-2.0",
|
|
12
12
|
"dependencies": {
|
package/oclif.manifest.json
CHANGED
|
@@ -160,56 +160,6 @@
|
|
|
160
160
|
"create.js"
|
|
161
161
|
]
|
|
162
162
|
},
|
|
163
|
-
"block:create": {
|
|
164
|
-
"aliases": [],
|
|
165
|
-
"args": {
|
|
166
|
-
"name": {
|
|
167
|
-
"description": "block name",
|
|
168
|
-
"name": "name",
|
|
169
|
-
"required": true
|
|
170
|
-
}
|
|
171
|
-
},
|
|
172
|
-
"description": "Create an block.\n\nCreate a new balena block.\n\nYou can specify the organization the block should belong to using\nthe `--organization` option. The organization's handle, not its name,\nshould be provided. Organization handles can be listed with the\n`balena organization list` command.\n\nThe block's default device type is specified with the `--type` option.\nThe `balena device-type list` command can be used to list the available\ndevice types.\n\nInteractive dropdowns will be shown for selection if no device type or\norganization is specified and there are multiple options to choose from.\nIf there is a single option to choose from, it will be chosen automatically.\nThis interactive behavior can be disabled by explicitly specifying a device\ntype and organization.",
|
|
173
|
-
"examples": [
|
|
174
|
-
"$ balena block create MyBlock",
|
|
175
|
-
"$ balena block create MyBlock --organization mmyorg",
|
|
176
|
-
"$ balena block create MyBlock -o myorg --type raspberry-pi"
|
|
177
|
-
],
|
|
178
|
-
"flags": {
|
|
179
|
-
"organization": {
|
|
180
|
-
"char": "o",
|
|
181
|
-
"description": "handle of the organization the block should belong to",
|
|
182
|
-
"name": "organization",
|
|
183
|
-
"hasDynamicHelp": false,
|
|
184
|
-
"multiple": false,
|
|
185
|
-
"type": "option"
|
|
186
|
-
},
|
|
187
|
-
"type": {
|
|
188
|
-
"char": "t",
|
|
189
|
-
"description": "block device type (Check available types with `balena device-type list`)",
|
|
190
|
-
"name": "type",
|
|
191
|
-
"hasDynamicHelp": false,
|
|
192
|
-
"multiple": false,
|
|
193
|
-
"type": "option"
|
|
194
|
-
}
|
|
195
|
-
},
|
|
196
|
-
"hasDynamicHelp": false,
|
|
197
|
-
"hiddenAliases": [],
|
|
198
|
-
"id": "block:create",
|
|
199
|
-
"pluginAlias": "balena-cli",
|
|
200
|
-
"pluginName": "balena-cli",
|
|
201
|
-
"pluginType": "core",
|
|
202
|
-
"strict": true,
|
|
203
|
-
"enableJsonFlag": false,
|
|
204
|
-
"authenticated": true,
|
|
205
|
-
"isESM": false,
|
|
206
|
-
"relativePath": [
|
|
207
|
-
"build",
|
|
208
|
-
"commands",
|
|
209
|
-
"block",
|
|
210
|
-
"create.js"
|
|
211
|
-
]
|
|
212
|
-
},
|
|
213
163
|
"build": {
|
|
214
164
|
"aliases": [],
|
|
215
165
|
"args": {
|
|
@@ -412,6 +362,56 @@
|
|
|
412
362
|
"index.js"
|
|
413
363
|
]
|
|
414
364
|
},
|
|
365
|
+
"block:create": {
|
|
366
|
+
"aliases": [],
|
|
367
|
+
"args": {
|
|
368
|
+
"name": {
|
|
369
|
+
"description": "block name",
|
|
370
|
+
"name": "name",
|
|
371
|
+
"required": true
|
|
372
|
+
}
|
|
373
|
+
},
|
|
374
|
+
"description": "Create an block.\n\nCreate a new balena block.\n\nYou can specify the organization the block should belong to using\nthe `--organization` option. The organization's handle, not its name,\nshould be provided. Organization handles can be listed with the\n`balena organization list` command.\n\nThe block's default device type is specified with the `--type` option.\nThe `balena device-type list` command can be used to list the available\ndevice types.\n\nInteractive dropdowns will be shown for selection if no device type or\norganization is specified and there are multiple options to choose from.\nIf there is a single option to choose from, it will be chosen automatically.\nThis interactive behavior can be disabled by explicitly specifying a device\ntype and organization.",
|
|
375
|
+
"examples": [
|
|
376
|
+
"$ balena block create MyBlock",
|
|
377
|
+
"$ balena block create MyBlock --organization mmyorg",
|
|
378
|
+
"$ balena block create MyBlock -o myorg --type raspberry-pi"
|
|
379
|
+
],
|
|
380
|
+
"flags": {
|
|
381
|
+
"organization": {
|
|
382
|
+
"char": "o",
|
|
383
|
+
"description": "handle of the organization the block should belong to",
|
|
384
|
+
"name": "organization",
|
|
385
|
+
"hasDynamicHelp": false,
|
|
386
|
+
"multiple": false,
|
|
387
|
+
"type": "option"
|
|
388
|
+
},
|
|
389
|
+
"type": {
|
|
390
|
+
"char": "t",
|
|
391
|
+
"description": "block device type (Check available types with `balena device-type list`)",
|
|
392
|
+
"name": "type",
|
|
393
|
+
"hasDynamicHelp": false,
|
|
394
|
+
"multiple": false,
|
|
395
|
+
"type": "option"
|
|
396
|
+
}
|
|
397
|
+
},
|
|
398
|
+
"hasDynamicHelp": false,
|
|
399
|
+
"hiddenAliases": [],
|
|
400
|
+
"id": "block:create",
|
|
401
|
+
"pluginAlias": "balena-cli",
|
|
402
|
+
"pluginName": "balena-cli",
|
|
403
|
+
"pluginType": "core",
|
|
404
|
+
"strict": true,
|
|
405
|
+
"enableJsonFlag": false,
|
|
406
|
+
"authenticated": true,
|
|
407
|
+
"isESM": false,
|
|
408
|
+
"relativePath": [
|
|
409
|
+
"build",
|
|
410
|
+
"commands",
|
|
411
|
+
"block",
|
|
412
|
+
"create.js"
|
|
413
|
+
]
|
|
414
|
+
},
|
|
415
415
|
"config:generate": {
|
|
416
416
|
"aliases": [],
|
|
417
417
|
"args": {},
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "balena-cli",
|
|
3
|
-
"version": "23.2.7
|
|
3
|
+
"version": "23.2.7",
|
|
4
4
|
"description": "The official balena Command Line Interface",
|
|
5
5
|
"main": "./build/app.js",
|
|
6
6
|
"homepage": "https://github.com/balena-io/balena-cli",
|
|
@@ -262,6 +262,6 @@
|
|
|
262
262
|
"balena-request": "14.0.6"
|
|
263
263
|
},
|
|
264
264
|
"versionist": {
|
|
265
|
-
"publishedAt": "2025-12-
|
|
265
|
+
"publishedAt": "2025-12-06T20:09:24.286Z"
|
|
266
266
|
}
|
|
267
267
|
}
|
|
@@ -35,13 +35,16 @@ type FlagsDef = Interfaces.InferredFlags<typeof OsConfigureCmd.flags>;
|
|
|
35
35
|
|
|
36
36
|
interface Answers {
|
|
37
37
|
appUpdatePollInterval: number; // in minutes
|
|
38
|
+
network: 'ethernet' | 'wifi';
|
|
39
|
+
wifiSsid?: string;
|
|
40
|
+
wifiKey?: string;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
interface AugmentedAnswers extends Answers {
|
|
38
44
|
developmentMode?: boolean; // balenaOS development variant
|
|
39
45
|
secureBoot?: boolean;
|
|
40
46
|
deviceType: string; // e.g. "raspberrypi3"
|
|
41
|
-
network: 'ethernet' | 'wifi';
|
|
42
47
|
version: string; // e.g. "2.32.0+rev1"
|
|
43
|
-
wifiSsid?: string;
|
|
44
|
-
wifiKey?: string;
|
|
45
48
|
provisioningKeyName?: string;
|
|
46
49
|
provisioningKeyExpiryDate?: string;
|
|
47
50
|
}
|
|
@@ -243,14 +246,23 @@ export default class OsConfigureCmd extends Command {
|
|
|
243
246
|
osVersion,
|
|
244
247
|
);
|
|
245
248
|
|
|
246
|
-
const
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
249
|
+
const _ = await import('lodash');
|
|
250
|
+
const baseAnswers: Answers =
|
|
251
|
+
configJson == null
|
|
252
|
+
? await askQuestionsForDeviceType(deviceTypeManifest, options)
|
|
253
|
+
: {
|
|
254
|
+
appUpdatePollInterval: configJson.appUpdatePollInterval,
|
|
255
|
+
network:
|
|
256
|
+
!configJson.wifiSsid && !configJson.wifiKey ? 'ethernet' : 'wifi',
|
|
257
|
+
..._.pick(configJson, ['wifiSsid', 'wifiKey']),
|
|
258
|
+
};
|
|
259
|
+
const answers: AugmentedAnswers = {
|
|
260
|
+
...baseAnswers,
|
|
261
|
+
deviceType: deviceTypeSlug,
|
|
262
|
+
version: osVersion,
|
|
263
|
+
developmentMode: developmentMode,
|
|
264
|
+
secureBoot: secureBoot,
|
|
265
|
+
};
|
|
254
266
|
|
|
255
267
|
if (configJson == null) {
|
|
256
268
|
answers.provisioningKeyName = options['provisioning-key-name'];
|
|
@@ -259,7 +271,6 @@ export default class OsConfigureCmd extends Command {
|
|
|
259
271
|
if (device != null) {
|
|
260
272
|
configJson = await generateDeviceConfig(device, undefined, answers);
|
|
261
273
|
} else {
|
|
262
|
-
answers.deviceType = deviceTypeSlug;
|
|
263
274
|
configJson = await generateApplicationConfig(app!, answers);
|
|
264
275
|
}
|
|
265
276
|
if (
|
|
@@ -401,7 +412,6 @@ async function checkDeviceTypeCompatibility(
|
|
|
401
412
|
async function askQuestionsForDeviceType(
|
|
402
413
|
deviceType: BalenaSdk.DeviceTypeJson.DeviceType,
|
|
403
414
|
options: FlagsDef,
|
|
404
|
-
configJson: import('../../utils/config').ImgConfig | undefined,
|
|
405
415
|
): Promise<Answers> {
|
|
406
416
|
const answerSources: any[] = [
|
|
407
417
|
{
|
|
@@ -414,10 +424,6 @@ async function askQuestionsForDeviceType(
|
|
|
414
424
|
const questions = deviceType.options ?? [];
|
|
415
425
|
let extraOpts: { override: Partial<Answers> } | undefined;
|
|
416
426
|
|
|
417
|
-
if (configJson != null) {
|
|
418
|
-
answerSources.push(configJson);
|
|
419
|
-
}
|
|
420
|
-
|
|
421
427
|
if (!options.advanced) {
|
|
422
428
|
const advancedGroup = questions.find(
|
|
423
429
|
(question) => question.name === 'advanced' && question.isGroup,
|
package/src/utils/config.ts
CHANGED
|
@@ -166,12 +166,6 @@ export async function readAndValidateConfigJson(path: string) {
|
|
|
166
166
|
) {
|
|
167
167
|
throw new ExpectedError('Missing or invalid deviceType in config.json');
|
|
168
168
|
}
|
|
169
|
-
const secureboot = configJson.installer?.secureboot;
|
|
170
|
-
if (secureboot != null && typeof secureboot !== 'boolean') {
|
|
171
|
-
throw new ExpectedError(
|
|
172
|
-
`Invalid installer.secureboot in config.json: value must be a boolean, found ${typeof secureboot}: '${secureboot}'`,
|
|
173
|
-
);
|
|
174
|
-
}
|
|
175
169
|
return configJson;
|
|
176
170
|
}
|
|
177
171
|
|