balena-cli 23.2.7-build-os-configure-config-default-ethernet-37b4a993c4141674b7d0d6f02f2bad9519180458-1 → 23.2.7-build-renovate-apple-actions-import-codesign-certs-4-x-3e3bfd47c2ff1c5ae4e8389dd9c0c8efa182d86b-1
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 +1 -2
- package/build/commands/os/configure.js +9 -14
- package/build/commands/os/configure.js.map +1 -1
- package/npm-shrinkwrap.json +2 -2
- package/oclif.manifest.json +478 -478
- package/package.json +2 -2
- package/src/commands/os/configure.ts +16 -23
package/CHANGELOG.md
CHANGED
|
@@ -6,8 +6,7 @@ This project adheres to [Semantic Versioning](http://semver.org/).
|
|
|
6
6
|
|
|
7
7
|
## 23.2.7 - 2025-12-05
|
|
8
8
|
|
|
9
|
-
*
|
|
10
|
-
* os configure --config: Avoid interactive questions by defaulting empty networking to ethernet [Thodoris Greasidis]
|
|
9
|
+
* Update apple-actions/import-codesign-certs action to v4 [balena-renovate[bot]]
|
|
11
10
|
|
|
12
11
|
## 23.2.6 - 2025-12-05
|
|
13
12
|
|
|
@@ -58,19 +58,10 @@ 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
|
-
|
|
65
|
-
network: !configJson.wifiSsid && !configJson.wifiKey ? 'ethernet' : 'wifi',
|
|
66
|
-
};
|
|
67
|
-
const answers = {
|
|
68
|
-
...baseAnswers,
|
|
69
|
-
deviceType: deviceTypeSlug,
|
|
70
|
-
version: osVersion,
|
|
71
|
-
developmentMode: developmentMode,
|
|
72
|
-
secureBoot: secureBoot,
|
|
73
|
-
};
|
|
61
|
+
const answers = await askQuestionsForDeviceType(deviceTypeManifest, options, configJson);
|
|
62
|
+
answers.version = osVersion;
|
|
63
|
+
answers.developmentMode = developmentMode;
|
|
64
|
+
answers.secureBoot = secureBoot;
|
|
74
65
|
if (configJson == null) {
|
|
75
66
|
answers.provisioningKeyName = options['provisioning-key-name'];
|
|
76
67
|
answers.provisioningKeyExpiryDate =
|
|
@@ -79,6 +70,7 @@ class OsConfigureCmd extends core_1.Command {
|
|
|
79
70
|
configJson = await generateDeviceConfig(device, undefined, answers);
|
|
80
71
|
}
|
|
81
72
|
else {
|
|
73
|
+
answers.deviceType = deviceTypeSlug;
|
|
82
74
|
configJson = await generateApplicationConfig(app, answers);
|
|
83
75
|
}
|
|
84
76
|
if (options['initial-device-name'] != null &&
|
|
@@ -243,7 +235,7 @@ async function checkDeviceTypeCompatibility(deviceType, app) {
|
|
|
243
235
|
}
|
|
244
236
|
}
|
|
245
237
|
}
|
|
246
|
-
async function askQuestionsForDeviceType(deviceType, options) {
|
|
238
|
+
async function askQuestionsForDeviceType(deviceType, options, configJson) {
|
|
247
239
|
var _a;
|
|
248
240
|
const answerSources = [
|
|
249
241
|
{
|
|
@@ -255,6 +247,9 @@ async function askQuestionsForDeviceType(deviceType, options) {
|
|
|
255
247
|
const defaultAnswers = {};
|
|
256
248
|
const questions = (_a = deviceType.options) !== null && _a !== void 0 ? _a : [];
|
|
257
249
|
let extraOpts;
|
|
250
|
+
if (configJson != null) {
|
|
251
|
+
answerSources.push(configJson);
|
|
252
|
+
}
|
|
258
253
|
if (!options.advanced) {
|
|
259
254
|
const advancedGroup = questions.find((question) => question.name === 'advanced' && question.isGroup);
|
|
260
255
|
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":"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
|
|
1
|
+
{"version":3,"file":"configure.js","sourceRoot":"","sources":["../../../src/commands/os/configure.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-build-
|
|
3
|
+
"version": "23.2.7-build-renovate-apple-actions-import-codesign-certs-4-x-3e3bfd47c2ff1c5ae4e8389dd9c0c8efa182d86b-1",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "balena-cli",
|
|
9
|
-
"version": "23.2.7-build-
|
|
9
|
+
"version": "23.2.7-build-renovate-apple-actions-import-codesign-certs-4-x-3e3bfd47c2ff1c5ae4e8389dd9c0c8efa182d86b-1",
|
|
10
10
|
"hasInstallScript": true,
|
|
11
11
|
"license": "Apache-2.0",
|
|
12
12
|
"dependencies": {
|
package/oclif.manifest.json
CHANGED
|
@@ -160,6 +160,56 @@
|
|
|
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
|
+
},
|
|
163
213
|
"build": {
|
|
164
214
|
"aliases": [],
|
|
165
215
|
"args": {
|
|
@@ -362,56 +412,6 @@
|
|
|
362
412
|
"index.js"
|
|
363
413
|
]
|
|
364
414
|
},
|
|
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": {},
|
|
@@ -2537,6 +2537,129 @@
|
|
|
2537
2537
|
"set.js"
|
|
2538
2538
|
]
|
|
2539
2539
|
},
|
|
2540
|
+
"internal:osinit": {
|
|
2541
|
+
"aliases": [],
|
|
2542
|
+
"args": {
|
|
2543
|
+
"image": {
|
|
2544
|
+
"name": "image",
|
|
2545
|
+
"required": true
|
|
2546
|
+
},
|
|
2547
|
+
"type": {
|
|
2548
|
+
"name": "type",
|
|
2549
|
+
"required": true
|
|
2550
|
+
},
|
|
2551
|
+
"config": {
|
|
2552
|
+
"name": "config",
|
|
2553
|
+
"required": true
|
|
2554
|
+
}
|
|
2555
|
+
},
|
|
2556
|
+
"description": "Do actual init of the device with the preconfigured os image.\n\nDon't use this command directly!\nUse `balena os initialize <image>` instead.",
|
|
2557
|
+
"flags": {},
|
|
2558
|
+
"hasDynamicHelp": false,
|
|
2559
|
+
"hidden": true,
|
|
2560
|
+
"hiddenAliases": [],
|
|
2561
|
+
"id": "internal:osinit",
|
|
2562
|
+
"pluginAlias": "balena-cli",
|
|
2563
|
+
"pluginName": "balena-cli",
|
|
2564
|
+
"pluginType": "core",
|
|
2565
|
+
"strict": true,
|
|
2566
|
+
"enableJsonFlag": false,
|
|
2567
|
+
"root": true,
|
|
2568
|
+
"offlineCompatible": true,
|
|
2569
|
+
"isESM": false,
|
|
2570
|
+
"relativePath": [
|
|
2571
|
+
"build",
|
|
2572
|
+
"commands",
|
|
2573
|
+
"internal",
|
|
2574
|
+
"osinit.js"
|
|
2575
|
+
]
|
|
2576
|
+
},
|
|
2577
|
+
"join": {
|
|
2578
|
+
"aliases": [],
|
|
2579
|
+
"args": {
|
|
2580
|
+
"deviceIpOrHostname": {
|
|
2581
|
+
"description": "the IP or hostname of device",
|
|
2582
|
+
"name": "deviceIpOrHostname"
|
|
2583
|
+
}
|
|
2584
|
+
},
|
|
2585
|
+
"description": "Move a local device to a fleet on another balena server.\n\nMove a local device to a fleet on another balena server, causing\nthe device to \"join\" the new server. The device must be running balenaOS.\n\nFor example, you could provision a device against an openBalena installation\nwhere you perform end-to-end tests and then move it to balenaCloud when it's\nready for production.\n\nTo move a device between fleets on the same server, use the\n`balena device move` command instead of `balena join`.\n\nIf you don't specify a device hostname or IP, this command will automatically\nscan the local network for balenaOS devices and prompt you to select one\nfrom an interactive picker. This may require administrator/root privileges.\nLikewise, if the fleet option is not provided then a picker will be shown.\n\nFleets may be specified by fleet name or slug. Fleet slugs are\nthe recommended option, as they are unique and unambiguous. Slugs can be\nlisted with the `balena fleet list` command. Note that slugs may change if the\nfleet is renamed. Fleet names are not unique and may result in \"Fleet is\nambiguous\" errors at any time (even if it \"used to work in the past\"), for\nexample if the name clashes with a newly created public fleet, or with fleets\nfrom other balena accounts that you may be invited to join under any role.\nFor this reason, fleet names are especially discouraged in scripts (e.g. CI\nenvironments).",
|
|
2586
|
+
"examples": [
|
|
2587
|
+
"$ balena join",
|
|
2588
|
+
"$ balena join balena.local",
|
|
2589
|
+
"$ balena join balena.local --fleet MyFleet",
|
|
2590
|
+
"$ balena join balena.local -f myorg/myfleet",
|
|
2591
|
+
"$ balena join 192.168.1.25",
|
|
2592
|
+
"$ balena join 192.168.1.25 --fleet MyFleet"
|
|
2593
|
+
],
|
|
2594
|
+
"flags": {
|
|
2595
|
+
"fleet": {
|
|
2596
|
+
"char": "f",
|
|
2597
|
+
"description": "fleet name or slug (preferred)",
|
|
2598
|
+
"name": "fleet",
|
|
2599
|
+
"hasDynamicHelp": false,
|
|
2600
|
+
"multiple": false,
|
|
2601
|
+
"type": "option"
|
|
2602
|
+
},
|
|
2603
|
+
"pollInterval": {
|
|
2604
|
+
"char": "i",
|
|
2605
|
+
"description": "the interval in minutes to check for updates",
|
|
2606
|
+
"name": "pollInterval",
|
|
2607
|
+
"hasDynamicHelp": false,
|
|
2608
|
+
"multiple": false,
|
|
2609
|
+
"type": "option"
|
|
2610
|
+
}
|
|
2611
|
+
},
|
|
2612
|
+
"hasDynamicHelp": false,
|
|
2613
|
+
"hiddenAliases": [],
|
|
2614
|
+
"id": "join",
|
|
2615
|
+
"pluginAlias": "balena-cli",
|
|
2616
|
+
"pluginName": "balena-cli",
|
|
2617
|
+
"pluginType": "core",
|
|
2618
|
+
"strict": true,
|
|
2619
|
+
"enableJsonFlag": false,
|
|
2620
|
+
"authenticated": true,
|
|
2621
|
+
"primary": true,
|
|
2622
|
+
"isESM": false,
|
|
2623
|
+
"relativePath": [
|
|
2624
|
+
"build",
|
|
2625
|
+
"commands",
|
|
2626
|
+
"join",
|
|
2627
|
+
"index.js"
|
|
2628
|
+
]
|
|
2629
|
+
},
|
|
2630
|
+
"leave": {
|
|
2631
|
+
"aliases": [],
|
|
2632
|
+
"args": {
|
|
2633
|
+
"deviceIpOrHostname": {
|
|
2634
|
+
"description": "the device IP or hostname",
|
|
2635
|
+
"name": "deviceIpOrHostname"
|
|
2636
|
+
}
|
|
2637
|
+
},
|
|
2638
|
+
"description": "Remove a local device from its balena fleet.\n\nRemove a local device from its balena fleet, causing the device to\n\"leave\" the server it is provisioned on. This effectively makes the device\n\"unmanaged\". The device must be running balenaOS.\n\nThe device entry on the server is preserved after running this command,\nso the device can subsequently re-join the server if needed.\n\nIf you don't specify a device hostname or IP, this command will automatically\nscan the local network for balenaOS devices and prompt you to select one\nfrom an interactive picker. This may require administrator/root privileges.",
|
|
2639
|
+
"examples": [
|
|
2640
|
+
"$ balena leave",
|
|
2641
|
+
"$ balena leave balena.local",
|
|
2642
|
+
"$ balena leave 192.168.1.25"
|
|
2643
|
+
],
|
|
2644
|
+
"flags": {},
|
|
2645
|
+
"hasDynamicHelp": false,
|
|
2646
|
+
"hiddenAliases": [],
|
|
2647
|
+
"id": "leave",
|
|
2648
|
+
"pluginAlias": "balena-cli",
|
|
2649
|
+
"pluginName": "balena-cli",
|
|
2650
|
+
"pluginType": "core",
|
|
2651
|
+
"strict": true,
|
|
2652
|
+
"enableJsonFlag": false,
|
|
2653
|
+
"authenticated": true,
|
|
2654
|
+
"primary": true,
|
|
2655
|
+
"isESM": false,
|
|
2656
|
+
"relativePath": [
|
|
2657
|
+
"build",
|
|
2658
|
+
"commands",
|
|
2659
|
+
"leave",
|
|
2660
|
+
"index.js"
|
|
2661
|
+
]
|
|
2662
|
+
},
|
|
2540
2663
|
"fleet:create": {
|
|
2541
2664
|
"aliases": [],
|
|
2542
2665
|
"args": {
|
|
@@ -2879,28 +3002,24 @@
|
|
|
2879
3002
|
"track-latest.js"
|
|
2880
3003
|
]
|
|
2881
3004
|
},
|
|
2882
|
-
"
|
|
3005
|
+
"local:configure": {
|
|
2883
3006
|
"aliases": [],
|
|
2884
3007
|
"args": {
|
|
2885
|
-
"
|
|
2886
|
-
"
|
|
2887
|
-
"
|
|
2888
|
-
},
|
|
2889
|
-
"type": {
|
|
2890
|
-
"name": "type",
|
|
2891
|
-
"required": true
|
|
2892
|
-
},
|
|
2893
|
-
"config": {
|
|
2894
|
-
"name": "config",
|
|
3008
|
+
"target": {
|
|
3009
|
+
"description": "path of drive or image to configure",
|
|
3010
|
+
"name": "target",
|
|
2895
3011
|
"required": true
|
|
2896
3012
|
}
|
|
2897
3013
|
},
|
|
2898
|
-
"description": "
|
|
3014
|
+
"description": "(Re)configure a balenaOS drive or image.\n\nConfigure or reconfigure a balenaOS drive or image.",
|
|
3015
|
+
"examples": [
|
|
3016
|
+
"$ balena local configure /dev/sdc",
|
|
3017
|
+
"$ balena local configure path/to/image.img"
|
|
3018
|
+
],
|
|
2899
3019
|
"flags": {},
|
|
2900
3020
|
"hasDynamicHelp": false,
|
|
2901
|
-
"hidden": true,
|
|
2902
3021
|
"hiddenAliases": [],
|
|
2903
|
-
"id": "
|
|
3022
|
+
"id": "local:configure",
|
|
2904
3023
|
"pluginAlias": "balena-cli",
|
|
2905
3024
|
"pluginName": "balena-cli",
|
|
2906
3025
|
"pluginType": "core",
|
|
@@ -2912,130 +3031,11 @@
|
|
|
2912
3031
|
"relativePath": [
|
|
2913
3032
|
"build",
|
|
2914
3033
|
"commands",
|
|
2915
|
-
"
|
|
2916
|
-
"
|
|
3034
|
+
"local",
|
|
3035
|
+
"configure.js"
|
|
2917
3036
|
]
|
|
2918
3037
|
},
|
|
2919
|
-
"
|
|
2920
|
-
"aliases": [],
|
|
2921
|
-
"args": {
|
|
2922
|
-
"deviceIpOrHostname": {
|
|
2923
|
-
"description": "the IP or hostname of device",
|
|
2924
|
-
"name": "deviceIpOrHostname"
|
|
2925
|
-
}
|
|
2926
|
-
},
|
|
2927
|
-
"description": "Move a local device to a fleet on another balena server.\n\nMove a local device to a fleet on another balena server, causing\nthe device to \"join\" the new server. The device must be running balenaOS.\n\nFor example, you could provision a device against an openBalena installation\nwhere you perform end-to-end tests and then move it to balenaCloud when it's\nready for production.\n\nTo move a device between fleets on the same server, use the\n`balena device move` command instead of `balena join`.\n\nIf you don't specify a device hostname or IP, this command will automatically\nscan the local network for balenaOS devices and prompt you to select one\nfrom an interactive picker. This may require administrator/root privileges.\nLikewise, if the fleet option is not provided then a picker will be shown.\n\nFleets may be specified by fleet name or slug. Fleet slugs are\nthe recommended option, as they are unique and unambiguous. Slugs can be\nlisted with the `balena fleet list` command. Note that slugs may change if the\nfleet is renamed. Fleet names are not unique and may result in \"Fleet is\nambiguous\" errors at any time (even if it \"used to work in the past\"), for\nexample if the name clashes with a newly created public fleet, or with fleets\nfrom other balena accounts that you may be invited to join under any role.\nFor this reason, fleet names are especially discouraged in scripts (e.g. CI\nenvironments).",
|
|
2928
|
-
"examples": [
|
|
2929
|
-
"$ balena join",
|
|
2930
|
-
"$ balena join balena.local",
|
|
2931
|
-
"$ balena join balena.local --fleet MyFleet",
|
|
2932
|
-
"$ balena join balena.local -f myorg/myfleet",
|
|
2933
|
-
"$ balena join 192.168.1.25",
|
|
2934
|
-
"$ balena join 192.168.1.25 --fleet MyFleet"
|
|
2935
|
-
],
|
|
2936
|
-
"flags": {
|
|
2937
|
-
"fleet": {
|
|
2938
|
-
"char": "f",
|
|
2939
|
-
"description": "fleet name or slug (preferred)",
|
|
2940
|
-
"name": "fleet",
|
|
2941
|
-
"hasDynamicHelp": false,
|
|
2942
|
-
"multiple": false,
|
|
2943
|
-
"type": "option"
|
|
2944
|
-
},
|
|
2945
|
-
"pollInterval": {
|
|
2946
|
-
"char": "i",
|
|
2947
|
-
"description": "the interval in minutes to check for updates",
|
|
2948
|
-
"name": "pollInterval",
|
|
2949
|
-
"hasDynamicHelp": false,
|
|
2950
|
-
"multiple": false,
|
|
2951
|
-
"type": "option"
|
|
2952
|
-
}
|
|
2953
|
-
},
|
|
2954
|
-
"hasDynamicHelp": false,
|
|
2955
|
-
"hiddenAliases": [],
|
|
2956
|
-
"id": "join",
|
|
2957
|
-
"pluginAlias": "balena-cli",
|
|
2958
|
-
"pluginName": "balena-cli",
|
|
2959
|
-
"pluginType": "core",
|
|
2960
|
-
"strict": true,
|
|
2961
|
-
"enableJsonFlag": false,
|
|
2962
|
-
"authenticated": true,
|
|
2963
|
-
"primary": true,
|
|
2964
|
-
"isESM": false,
|
|
2965
|
-
"relativePath": [
|
|
2966
|
-
"build",
|
|
2967
|
-
"commands",
|
|
2968
|
-
"join",
|
|
2969
|
-
"index.js"
|
|
2970
|
-
]
|
|
2971
|
-
},
|
|
2972
|
-
"leave": {
|
|
2973
|
-
"aliases": [],
|
|
2974
|
-
"args": {
|
|
2975
|
-
"deviceIpOrHostname": {
|
|
2976
|
-
"description": "the device IP or hostname",
|
|
2977
|
-
"name": "deviceIpOrHostname"
|
|
2978
|
-
}
|
|
2979
|
-
},
|
|
2980
|
-
"description": "Remove a local device from its balena fleet.\n\nRemove a local device from its balena fleet, causing the device to\n\"leave\" the server it is provisioned on. This effectively makes the device\n\"unmanaged\". The device must be running balenaOS.\n\nThe device entry on the server is preserved after running this command,\nso the device can subsequently re-join the server if needed.\n\nIf you don't specify a device hostname or IP, this command will automatically\nscan the local network for balenaOS devices and prompt you to select one\nfrom an interactive picker. This may require administrator/root privileges.",
|
|
2981
|
-
"examples": [
|
|
2982
|
-
"$ balena leave",
|
|
2983
|
-
"$ balena leave balena.local",
|
|
2984
|
-
"$ balena leave 192.168.1.25"
|
|
2985
|
-
],
|
|
2986
|
-
"flags": {},
|
|
2987
|
-
"hasDynamicHelp": false,
|
|
2988
|
-
"hiddenAliases": [],
|
|
2989
|
-
"id": "leave",
|
|
2990
|
-
"pluginAlias": "balena-cli",
|
|
2991
|
-
"pluginName": "balena-cli",
|
|
2992
|
-
"pluginType": "core",
|
|
2993
|
-
"strict": true,
|
|
2994
|
-
"enableJsonFlag": false,
|
|
2995
|
-
"authenticated": true,
|
|
2996
|
-
"primary": true,
|
|
2997
|
-
"isESM": false,
|
|
2998
|
-
"relativePath": [
|
|
2999
|
-
"build",
|
|
3000
|
-
"commands",
|
|
3001
|
-
"leave",
|
|
3002
|
-
"index.js"
|
|
3003
|
-
]
|
|
3004
|
-
},
|
|
3005
|
-
"local:configure": {
|
|
3006
|
-
"aliases": [],
|
|
3007
|
-
"args": {
|
|
3008
|
-
"target": {
|
|
3009
|
-
"description": "path of drive or image to configure",
|
|
3010
|
-
"name": "target",
|
|
3011
|
-
"required": true
|
|
3012
|
-
}
|
|
3013
|
-
},
|
|
3014
|
-
"description": "(Re)configure a balenaOS drive or image.\n\nConfigure or reconfigure a balenaOS drive or image.",
|
|
3015
|
-
"examples": [
|
|
3016
|
-
"$ balena local configure /dev/sdc",
|
|
3017
|
-
"$ balena local configure path/to/image.img"
|
|
3018
|
-
],
|
|
3019
|
-
"flags": {},
|
|
3020
|
-
"hasDynamicHelp": false,
|
|
3021
|
-
"hiddenAliases": [],
|
|
3022
|
-
"id": "local:configure",
|
|
3023
|
-
"pluginAlias": "balena-cli",
|
|
3024
|
-
"pluginName": "balena-cli",
|
|
3025
|
-
"pluginType": "core",
|
|
3026
|
-
"strict": true,
|
|
3027
|
-
"enableJsonFlag": false,
|
|
3028
|
-
"root": true,
|
|
3029
|
-
"offlineCompatible": true,
|
|
3030
|
-
"isESM": false,
|
|
3031
|
-
"relativePath": [
|
|
3032
|
-
"build",
|
|
3033
|
-
"commands",
|
|
3034
|
-
"local",
|
|
3035
|
-
"configure.js"
|
|
3036
|
-
]
|
|
3037
|
-
},
|
|
3038
|
-
"local:flash": {
|
|
3038
|
+
"local:flash": {
|
|
3039
3039
|
"aliases": [],
|
|
3040
3040
|
"args": {
|
|
3041
3041
|
"image": {
|
|
@@ -3727,243 +3727,61 @@
|
|
|
3727
3727
|
"index.js"
|
|
3728
3728
|
]
|
|
3729
3729
|
},
|
|
3730
|
-
"
|
|
3731
|
-
"aliases": [],
|
|
3732
|
-
"args": {
|
|
3733
|
-
"commitOrId": {
|
|
3734
|
-
"description": "the commit or ID of the release to finalize",
|
|
3735
|
-
"name": "commitOrId",
|
|
3736
|
-
"required": true
|
|
3737
|
-
}
|
|
3738
|
-
},
|
|
3739
|
-
"description": "Finalize a release.\n\nFinalize a release. Releases can be \"draft\" or \"final\", and this command\nchanges a draft release into a final release. Draft releases can be created\nwith the `--draft` option of the `balena build` or `balena deploy`\ncommands.\n\nDraft releases are not automatically deployed to devices tracking the latest\nrelease. For a draft release to be deployed to a device, the device should be\nexplicity pinned to that release. Conversely, final releases may trigger immediate\ndeployment to unpinned devices (subject to a device's polling period) and, for\nthis reason, final releases cannot be changed back to draft status.",
|
|
3740
|
-
"examples": [
|
|
3741
|
-
"$ balena release finalize a777f7345fe3d655c1c981aa642e5555",
|
|
3742
|
-
"$ balena release finalize 1234567"
|
|
3743
|
-
],
|
|
3744
|
-
"flags": {},
|
|
3745
|
-
"hasDynamicHelp": false,
|
|
3746
|
-
"hiddenAliases": [],
|
|
3747
|
-
"id": "release:finalize",
|
|
3748
|
-
"pluginAlias": "balena-cli",
|
|
3749
|
-
"pluginName": "balena-cli",
|
|
3750
|
-
"pluginType": "core",
|
|
3751
|
-
"strict": true,
|
|
3752
|
-
"enableJsonFlag": false,
|
|
3753
|
-
"authenticated": true,
|
|
3754
|
-
"isESM": false,
|
|
3755
|
-
"relativePath": [
|
|
3756
|
-
"build",
|
|
3757
|
-
"commands",
|
|
3758
|
-
"release",
|
|
3759
|
-
"finalize.js"
|
|
3760
|
-
]
|
|
3761
|
-
},
|
|
3762
|
-
"release": {
|
|
3730
|
+
"push": {
|
|
3763
3731
|
"aliases": [],
|
|
3764
3732
|
"args": {
|
|
3765
|
-
"
|
|
3766
|
-
"description": "
|
|
3767
|
-
"name": "
|
|
3733
|
+
"fleetOrDevice": {
|
|
3734
|
+
"description": "fleet name or slug, or local device IP address or \".local\" hostname",
|
|
3735
|
+
"name": "fleetOrDevice",
|
|
3768
3736
|
"required": true
|
|
3769
3737
|
}
|
|
3770
3738
|
},
|
|
3771
|
-
"description": "
|
|
3739
|
+
"description": "Build release images on balenaCloud servers or on a local mode device.\n\nBuild release images on balenaCloud servers or on a local mode device.\n\nWhen building on the balenaCloud servers, the given source directory will be\nsent to the remote server. This can be used as a drop-in replacement for the\n\"git push\" deployment method.\n\nWhen building on a local mode device, the given source directory will be\nbuilt on the device, and the resulting containers will be run on the device.\nLogs will be streamed back from the device as part of the same invocation.\nThe web dashboard can be used to switch a device to local mode:\nhttps://www.balena.io/docs/learn/develop/local-mode/\nNote that local mode requires a supervisor version of at least v7.21.0.\nThe logs from only a single service can be shown with the --service flag, and\nshowing only the system logs can be achieved with --system. Note that these\nflags can be used together.\n\nWhen pushing to a local device a live session will be started.\nThe project source folder is watched for filesystem events, and changes\nto files and folders are automatically synchronized to the running\ncontainers. The synchronization is only in one direction, from this machine to\nthe device, and changes made on the device itself may be overwritten.\nThis feature requires a device running supervisor version v9.7.0 or greater.\n\nREGISTRY SECRETS \nThe --registry-secrets option specifies a JSON or YAML file containing private\nDocker registry usernames and passwords to be used when pulling base images.\nSample registry-secrets YAML file:\n```\n\t'my-registry-server.com:25000':\n\t\tusername: ann\n\t\tpassword: hunter2\n\t'': # Use the empty string to refer to the Docker Hub\n\t\tusername: mike\n\t\tpassword: cze14\n\t'eu.gcr.io': # Google Container Registry\n\t\tusername: '_json_key'\n\t\tpassword: '{escaped contents of the GCR keyfile.json file}'\n```\nFor a sample project using registry secrets with the Google Container Registry,\ncheck: https://github.com/balena-io-examples/sample-gcr-registry-secrets\n\nIf the --registry-secrets option is not specified, and a secrets.yml or\nsecrets.json file exists in the balena directory (usually $HOME/.balena),\nthis file will be used instead.\n\nDOCKERIGNORE AND GITIGNORE FILES \nBy default, the balena CLI will use a single \".dockerignore\" file (if any) at\nthe project root (--source directory) in order to decide which source files to\nexclude from the \"build context\" (tar stream) sent to balenaCloud, Docker\ndaemon or balenaEngine. In a microservices (multicontainer) fleet, the\nsource directory is the directory that contains the \"docker-compose.yml\" file.\n\nThe --multi-dockerignore (-m) option may be used with microservices\n(multicontainer) fleets that define a docker-compose.yml file. When this\noption is used, each service subdirectory (defined by the `build` or\n`build.context` service properties in the docker-compose.yml file) is\nfiltered separately according to a .dockerignore file defined in the service\nsubdirectory. If no .dockerignore file exists in a service subdirectory, then\nonly the default .dockerignore patterns (see below) apply for that service\nsubdirectory.\n\nWhen the --multi-dockerignore (-m) option is used, the .dockerignore file (if\nany) defined at the overall project root will be used to filter files and\nsubdirectories other than service subdirectories. It will not have any effect\non service subdirectories, whether or not a service subdirectory defines its\nown .dockerignore file. Multiple .dockerignore files are not merged or added\ntogether, and cannot override or extend other files. This behavior maximizes\ncompatibility with the standard docker-compose tool, while still allowing a\nroot .dockerignore file (at the overall project root) to filter files and\nfolders that are outside service subdirectories.\n\nbalena CLI v11 also took .gitignore files into account. This behavior was\ndeprecated in CLI v12 and removed in CLI v13. Please use .dockerignore files\ninstead.\n\nDefault .dockerignore patterns \nA few default/hardcoded dockerignore patterns are \"merged\" (in memory) with the\npatterns found in the applicable .dockerignore files, in the following order:\n```\n **/.git\n < user's patterns from the applicable '.dockerignore' file, if any >\n !**/.balena\n !**/.resin\n !**/Dockerfile\n !**/Dockerfile.*\n !**/docker-compose.yml\n```\nThese patterns always apply, whether or not .dockerignore files exist in the\nproject. If necessary, the effect of the `**/.git` pattern may be modified by\nadding exception patterns to the applicable .dockerignore file(s), for example\n`!mysubmodule/.git`. For documentation on pattern format, see:\n- https://docs.docker.com/engine/reference/builder/#dockerignore-file\n- https://www.npmjs.com/package/@balena/dockerignore\n\nNote: the --service and --env flags must come after the fleetOrDevice\nparameter, as per examples.",
|
|
3772
3740
|
"examples": [
|
|
3773
|
-
"$ balena
|
|
3774
|
-
"$ balena
|
|
3741
|
+
"$ balena push myFleet",
|
|
3742
|
+
"$ balena push myFleet --source <source directory>",
|
|
3743
|
+
"$ balena push myFleet -s <source directory>",
|
|
3744
|
+
"$ balena push myFleet --source <source directory> --note \"this is the note for this release\"",
|
|
3745
|
+
"$ balena push myFleet --release-tag key1 \"\" key2 \"value2 with spaces\"",
|
|
3746
|
+
"$ balena push myorg/myfleet",
|
|
3747
|
+
"",
|
|
3748
|
+
"$ balena push 10.0.0.1",
|
|
3749
|
+
"$ balena push 10.0.0.1 --source <source directory>",
|
|
3750
|
+
"$ balena push 10.0.0.1 --service my-service",
|
|
3751
|
+
"$ balena push 10.0.0.1 --env MY_ENV_VAR=value --env my-service:SERVICE_VAR=value",
|
|
3752
|
+
"$ balena push 10.0.0.1 --nolive",
|
|
3753
|
+
"",
|
|
3754
|
+
"$ balena push 23c73a1.local --system",
|
|
3755
|
+
"$ balena push 23c73a1.local --system --service my-service"
|
|
3775
3756
|
],
|
|
3776
3757
|
"flags": {
|
|
3777
|
-
"
|
|
3778
|
-
"
|
|
3779
|
-
"
|
|
3780
|
-
"name": "
|
|
3758
|
+
"source": {
|
|
3759
|
+
"char": "s",
|
|
3760
|
+
"description": "Source directory to be sent to balenaCloud or balenaOS device\n(default: current working dir)",
|
|
3761
|
+
"name": "source",
|
|
3762
|
+
"default": ".",
|
|
3763
|
+
"hasDynamicHelp": false,
|
|
3764
|
+
"multiple": false,
|
|
3765
|
+
"type": "option"
|
|
3766
|
+
},
|
|
3767
|
+
"emulated": {
|
|
3768
|
+
"char": "e",
|
|
3769
|
+
"description": "Don't use the faster, native balenaCloud ARM builders; force slower QEMU ARM\nemulation on Intel x86-64 builders. This flag is sometimes used to investigate\nsuspected issues with the balenaCloud backend.",
|
|
3770
|
+
"name": "emulated",
|
|
3781
3771
|
"allowNo": false,
|
|
3782
3772
|
"type": "boolean"
|
|
3783
3773
|
},
|
|
3784
|
-
"
|
|
3774
|
+
"dockerfile": {
|
|
3775
|
+
"description": "Alternative Dockerfile name/path, relative to the source folder",
|
|
3776
|
+
"name": "dockerfile",
|
|
3777
|
+
"hasDynamicHelp": false,
|
|
3778
|
+
"multiple": false,
|
|
3779
|
+
"type": "option"
|
|
3780
|
+
},
|
|
3781
|
+
"nocache": {
|
|
3785
3782
|
"char": "c",
|
|
3786
|
-
"description": "
|
|
3787
|
-
"name": "
|
|
3788
|
-
"allowNo": false,
|
|
3789
|
-
"type": "boolean"
|
|
3790
|
-
}
|
|
3791
|
-
},
|
|
3792
|
-
"hasDynamicHelp": false,
|
|
3793
|
-
"hiddenAliases": [],
|
|
3794
|
-
"id": "release",
|
|
3795
|
-
"pluginAlias": "balena-cli",
|
|
3796
|
-
"pluginName": "balena-cli",
|
|
3797
|
-
"pluginType": "core",
|
|
3798
|
-
"strict": true,
|
|
3799
|
-
"enableJsonFlag": true,
|
|
3800
|
-
"authenticated": true,
|
|
3801
|
-
"isESM": false,
|
|
3802
|
-
"relativePath": [
|
|
3803
|
-
"build",
|
|
3804
|
-
"commands",
|
|
3805
|
-
"release",
|
|
3806
|
-
"index.js"
|
|
3807
|
-
]
|
|
3808
|
-
},
|
|
3809
|
-
"release:invalidate": {
|
|
3810
|
-
"aliases": [],
|
|
3811
|
-
"args": {
|
|
3812
|
-
"commitOrId": {
|
|
3813
|
-
"description": "the commit or ID of the release to invalidate",
|
|
3814
|
-
"name": "commitOrId",
|
|
3815
|
-
"required": true
|
|
3816
|
-
}
|
|
3817
|
-
},
|
|
3818
|
-
"description": "Invalidate a release.\n\nInvalidate a release.\n\nInvalid releases are not automatically deployed to devices tracking the latest\nrelease. For an invalid release to be deployed to a device, the device should be\nexplicity pinned to that release.",
|
|
3819
|
-
"examples": [
|
|
3820
|
-
"$ balena release invalidate a777f7345fe3d655c1c981aa642e5555",
|
|
3821
|
-
"$ balena release invalidate 1234567"
|
|
3822
|
-
],
|
|
3823
|
-
"flags": {},
|
|
3824
|
-
"hasDynamicHelp": false,
|
|
3825
|
-
"hiddenAliases": [],
|
|
3826
|
-
"id": "release:invalidate",
|
|
3827
|
-
"pluginAlias": "balena-cli",
|
|
3828
|
-
"pluginName": "balena-cli",
|
|
3829
|
-
"pluginType": "core",
|
|
3830
|
-
"strict": true,
|
|
3831
|
-
"enableJsonFlag": false,
|
|
3832
|
-
"authenticated": true,
|
|
3833
|
-
"isESM": false,
|
|
3834
|
-
"relativePath": [
|
|
3835
|
-
"build",
|
|
3836
|
-
"commands",
|
|
3837
|
-
"release",
|
|
3838
|
-
"invalidate.js"
|
|
3839
|
-
]
|
|
3840
|
-
},
|
|
3841
|
-
"release:list": {
|
|
3842
|
-
"aliases": [],
|
|
3843
|
-
"args": {
|
|
3844
|
-
"fleet": {
|
|
3845
|
-
"description": "fleet name or slug (preferred)",
|
|
3846
|
-
"name": "fleet",
|
|
3847
|
-
"required": true
|
|
3848
|
-
}
|
|
3849
|
-
},
|
|
3850
|
-
"description": "List all releases of a fleet.\n\nList all releases of the given fleet.\n\nFleets may be specified by fleet name or slug. Slugs are recommended because\nthey are unique and unambiguous. Slugs can be listed with the `balena fleet list`\ncommand. Note that slugs may change if the fleet is renamed. Fleet names are\nnot unique and may result in \"Fleet is ambiguous\" errors at any time (even if\n\"it used to work in the past\"), for example if the name clashes with a newly\ncreated public/open fleet, or with fleets from other balena accounts that you\nmay be invited to join under any role. For this reason, fleet names are\nespecially discouraged in scripts (e.g. CI environments).",
|
|
3851
|
-
"examples": [
|
|
3852
|
-
"$ balena release list myorg/myfleet"
|
|
3853
|
-
],
|
|
3854
|
-
"flags": {
|
|
3855
|
-
"json": {
|
|
3856
|
-
"description": "Format output as json.",
|
|
3857
|
-
"helpGroup": "GLOBAL",
|
|
3858
|
-
"name": "json",
|
|
3859
|
-
"allowNo": false,
|
|
3860
|
-
"type": "boolean"
|
|
3861
|
-
}
|
|
3862
|
-
},
|
|
3863
|
-
"hasDynamicHelp": false,
|
|
3864
|
-
"hiddenAliases": [],
|
|
3865
|
-
"id": "release:list",
|
|
3866
|
-
"pluginAlias": "balena-cli",
|
|
3867
|
-
"pluginName": "balena-cli",
|
|
3868
|
-
"pluginType": "core",
|
|
3869
|
-
"strict": true,
|
|
3870
|
-
"enableJsonFlag": true,
|
|
3871
|
-
"authenticated": true,
|
|
3872
|
-
"isESM": false,
|
|
3873
|
-
"relativePath": [
|
|
3874
|
-
"build",
|
|
3875
|
-
"commands",
|
|
3876
|
-
"release",
|
|
3877
|
-
"list.js"
|
|
3878
|
-
]
|
|
3879
|
-
},
|
|
3880
|
-
"release:validate": {
|
|
3881
|
-
"aliases": [],
|
|
3882
|
-
"args": {
|
|
3883
|
-
"commitOrId": {
|
|
3884
|
-
"description": "the commit or ID of the release to validate",
|
|
3885
|
-
"name": "commitOrId",
|
|
3886
|
-
"required": true
|
|
3887
|
-
}
|
|
3888
|
-
},
|
|
3889
|
-
"description": "Validate a release.\n\nValidate a release.\n\nValid releases are automatically deployed to devices tracking the latest\nrelease if they are finalized.",
|
|
3890
|
-
"examples": [
|
|
3891
|
-
"$ balena release validate a777f7345fe3d655c1c981aa642e5555",
|
|
3892
|
-
"$ balena release validate 1234567"
|
|
3893
|
-
],
|
|
3894
|
-
"flags": {},
|
|
3895
|
-
"hasDynamicHelp": false,
|
|
3896
|
-
"hiddenAliases": [],
|
|
3897
|
-
"id": "release:validate",
|
|
3898
|
-
"pluginAlias": "balena-cli",
|
|
3899
|
-
"pluginName": "balena-cli",
|
|
3900
|
-
"pluginType": "core",
|
|
3901
|
-
"strict": true,
|
|
3902
|
-
"enableJsonFlag": false,
|
|
3903
|
-
"authenticated": true,
|
|
3904
|
-
"isESM": false,
|
|
3905
|
-
"relativePath": [
|
|
3906
|
-
"build",
|
|
3907
|
-
"commands",
|
|
3908
|
-
"release",
|
|
3909
|
-
"validate.js"
|
|
3910
|
-
]
|
|
3911
|
-
},
|
|
3912
|
-
"push": {
|
|
3913
|
-
"aliases": [],
|
|
3914
|
-
"args": {
|
|
3915
|
-
"fleetOrDevice": {
|
|
3916
|
-
"description": "fleet name or slug, or local device IP address or \".local\" hostname",
|
|
3917
|
-
"name": "fleetOrDevice",
|
|
3918
|
-
"required": true
|
|
3919
|
-
}
|
|
3920
|
-
},
|
|
3921
|
-
"description": "Build release images on balenaCloud servers or on a local mode device.\n\nBuild release images on balenaCloud servers or on a local mode device.\n\nWhen building on the balenaCloud servers, the given source directory will be\nsent to the remote server. This can be used as a drop-in replacement for the\n\"git push\" deployment method.\n\nWhen building on a local mode device, the given source directory will be\nbuilt on the device, and the resulting containers will be run on the device.\nLogs will be streamed back from the device as part of the same invocation.\nThe web dashboard can be used to switch a device to local mode:\nhttps://www.balena.io/docs/learn/develop/local-mode/\nNote that local mode requires a supervisor version of at least v7.21.0.\nThe logs from only a single service can be shown with the --service flag, and\nshowing only the system logs can be achieved with --system. Note that these\nflags can be used together.\n\nWhen pushing to a local device a live session will be started.\nThe project source folder is watched for filesystem events, and changes\nto files and folders are automatically synchronized to the running\ncontainers. The synchronization is only in one direction, from this machine to\nthe device, and changes made on the device itself may be overwritten.\nThis feature requires a device running supervisor version v9.7.0 or greater.\n\nREGISTRY SECRETS \nThe --registry-secrets option specifies a JSON or YAML file containing private\nDocker registry usernames and passwords to be used when pulling base images.\nSample registry-secrets YAML file:\n```\n\t'my-registry-server.com:25000':\n\t\tusername: ann\n\t\tpassword: hunter2\n\t'': # Use the empty string to refer to the Docker Hub\n\t\tusername: mike\n\t\tpassword: cze14\n\t'eu.gcr.io': # Google Container Registry\n\t\tusername: '_json_key'\n\t\tpassword: '{escaped contents of the GCR keyfile.json file}'\n```\nFor a sample project using registry secrets with the Google Container Registry,\ncheck: https://github.com/balena-io-examples/sample-gcr-registry-secrets\n\nIf the --registry-secrets option is not specified, and a secrets.yml or\nsecrets.json file exists in the balena directory (usually $HOME/.balena),\nthis file will be used instead.\n\nDOCKERIGNORE AND GITIGNORE FILES \nBy default, the balena CLI will use a single \".dockerignore\" file (if any) at\nthe project root (--source directory) in order to decide which source files to\nexclude from the \"build context\" (tar stream) sent to balenaCloud, Docker\ndaemon or balenaEngine. In a microservices (multicontainer) fleet, the\nsource directory is the directory that contains the \"docker-compose.yml\" file.\n\nThe --multi-dockerignore (-m) option may be used with microservices\n(multicontainer) fleets that define a docker-compose.yml file. When this\noption is used, each service subdirectory (defined by the `build` or\n`build.context` service properties in the docker-compose.yml file) is\nfiltered separately according to a .dockerignore file defined in the service\nsubdirectory. If no .dockerignore file exists in a service subdirectory, then\nonly the default .dockerignore patterns (see below) apply for that service\nsubdirectory.\n\nWhen the --multi-dockerignore (-m) option is used, the .dockerignore file (if\nany) defined at the overall project root will be used to filter files and\nsubdirectories other than service subdirectories. It will not have any effect\non service subdirectories, whether or not a service subdirectory defines its\nown .dockerignore file. Multiple .dockerignore files are not merged or added\ntogether, and cannot override or extend other files. This behavior maximizes\ncompatibility with the standard docker-compose tool, while still allowing a\nroot .dockerignore file (at the overall project root) to filter files and\nfolders that are outside service subdirectories.\n\nbalena CLI v11 also took .gitignore files into account. This behavior was\ndeprecated in CLI v12 and removed in CLI v13. Please use .dockerignore files\ninstead.\n\nDefault .dockerignore patterns \nA few default/hardcoded dockerignore patterns are \"merged\" (in memory) with the\npatterns found in the applicable .dockerignore files, in the following order:\n```\n **/.git\n < user's patterns from the applicable '.dockerignore' file, if any >\n !**/.balena\n !**/.resin\n !**/Dockerfile\n !**/Dockerfile.*\n !**/docker-compose.yml\n```\nThese patterns always apply, whether or not .dockerignore files exist in the\nproject. If necessary, the effect of the `**/.git` pattern may be modified by\nadding exception patterns to the applicable .dockerignore file(s), for example\n`!mysubmodule/.git`. For documentation on pattern format, see:\n- https://docs.docker.com/engine/reference/builder/#dockerignore-file\n- https://www.npmjs.com/package/@balena/dockerignore\n\nNote: the --service and --env flags must come after the fleetOrDevice\nparameter, as per examples.",
|
|
3922
|
-
"examples": [
|
|
3923
|
-
"$ balena push myFleet",
|
|
3924
|
-
"$ balena push myFleet --source <source directory>",
|
|
3925
|
-
"$ balena push myFleet -s <source directory>",
|
|
3926
|
-
"$ balena push myFleet --source <source directory> --note \"this is the note for this release\"",
|
|
3927
|
-
"$ balena push myFleet --release-tag key1 \"\" key2 \"value2 with spaces\"",
|
|
3928
|
-
"$ balena push myorg/myfleet",
|
|
3929
|
-
"",
|
|
3930
|
-
"$ balena push 10.0.0.1",
|
|
3931
|
-
"$ balena push 10.0.0.1 --source <source directory>",
|
|
3932
|
-
"$ balena push 10.0.0.1 --service my-service",
|
|
3933
|
-
"$ balena push 10.0.0.1 --env MY_ENV_VAR=value --env my-service:SERVICE_VAR=value",
|
|
3934
|
-
"$ balena push 10.0.0.1 --nolive",
|
|
3935
|
-
"",
|
|
3936
|
-
"$ balena push 23c73a1.local --system",
|
|
3937
|
-
"$ balena push 23c73a1.local --system --service my-service"
|
|
3938
|
-
],
|
|
3939
|
-
"flags": {
|
|
3940
|
-
"source": {
|
|
3941
|
-
"char": "s",
|
|
3942
|
-
"description": "Source directory to be sent to balenaCloud or balenaOS device\n(default: current working dir)",
|
|
3943
|
-
"name": "source",
|
|
3944
|
-
"default": ".",
|
|
3945
|
-
"hasDynamicHelp": false,
|
|
3946
|
-
"multiple": false,
|
|
3947
|
-
"type": "option"
|
|
3948
|
-
},
|
|
3949
|
-
"emulated": {
|
|
3950
|
-
"char": "e",
|
|
3951
|
-
"description": "Don't use the faster, native balenaCloud ARM builders; force slower QEMU ARM\nemulation on Intel x86-64 builders. This flag is sometimes used to investigate\nsuspected issues with the balenaCloud backend.",
|
|
3952
|
-
"name": "emulated",
|
|
3953
|
-
"allowNo": false,
|
|
3954
|
-
"type": "boolean"
|
|
3955
|
-
},
|
|
3956
|
-
"dockerfile": {
|
|
3957
|
-
"description": "Alternative Dockerfile name/path, relative to the source folder",
|
|
3958
|
-
"name": "dockerfile",
|
|
3959
|
-
"hasDynamicHelp": false,
|
|
3960
|
-
"multiple": false,
|
|
3961
|
-
"type": "option"
|
|
3962
|
-
},
|
|
3963
|
-
"nocache": {
|
|
3964
|
-
"char": "c",
|
|
3965
|
-
"description": "Don't use cached layers of previously built images for this project. This\nensures that the latest base image and packages are pulled. Note that build\nlogs may still display the message _\"Pulling previous images for caching\npurposes\" (as the cloud builder needs previous images to compute delta\nupdates), but the logs will not display the \"Using cache\" lines for each\nbuild step of a Dockerfile.",
|
|
3966
|
-
"name": "nocache",
|
|
3783
|
+
"description": "Don't use cached layers of previously built images for this project. This\nensures that the latest base image and packages are pulled. Note that build\nlogs may still display the message _\"Pulling previous images for caching\npurposes\" (as the cloud builder needs previous images to compute delta\nupdates), but the logs will not display the \"Using cache\" lines for each\nbuild step of a Dockerfile.",
|
|
3784
|
+
"name": "nocache",
|
|
3967
3785
|
"allowNo": false,
|
|
3968
3786
|
"type": "boolean"
|
|
3969
3787
|
},
|
|
@@ -4074,30 +3892,188 @@
|
|
|
4074
3892
|
"index.js"
|
|
4075
3893
|
]
|
|
4076
3894
|
},
|
|
4077
|
-
"
|
|
3895
|
+
"release:finalize": {
|
|
4078
3896
|
"aliases": [],
|
|
4079
|
-
"args": {
|
|
4080
|
-
|
|
3897
|
+
"args": {
|
|
3898
|
+
"commitOrId": {
|
|
3899
|
+
"description": "the commit or ID of the release to finalize",
|
|
3900
|
+
"name": "commitOrId",
|
|
3901
|
+
"required": true
|
|
3902
|
+
}
|
|
3903
|
+
},
|
|
3904
|
+
"description": "Finalize a release.\n\nFinalize a release. Releases can be \"draft\" or \"final\", and this command\nchanges a draft release into a final release. Draft releases can be created\nwith the `--draft` option of the `balena build` or `balena deploy`\ncommands.\n\nDraft releases are not automatically deployed to devices tracking the latest\nrelease. For a draft release to be deployed to a device, the device should be\nexplicity pinned to that release. Conversely, final releases may trigger immediate\ndeployment to unpinned devices (subject to a device's polling period) and, for\nthis reason, final releases cannot be changed back to draft status.",
|
|
4081
3905
|
"examples": [
|
|
4082
|
-
"$ balena
|
|
3906
|
+
"$ balena release finalize a777f7345fe3d655c1c981aa642e5555",
|
|
3907
|
+
"$ balena release finalize 1234567"
|
|
4083
3908
|
],
|
|
4084
3909
|
"flags": {},
|
|
4085
3910
|
"hasDynamicHelp": false,
|
|
4086
3911
|
"hiddenAliases": [],
|
|
4087
|
-
"id": "
|
|
3912
|
+
"id": "release:finalize",
|
|
4088
3913
|
"pluginAlias": "balena-cli",
|
|
4089
3914
|
"pluginName": "balena-cli",
|
|
4090
3915
|
"pluginType": "core",
|
|
4091
3916
|
"strict": true,
|
|
4092
3917
|
"enableJsonFlag": false,
|
|
3918
|
+
"authenticated": true,
|
|
4093
3919
|
"isESM": false,
|
|
4094
3920
|
"relativePath": [
|
|
4095
3921
|
"build",
|
|
4096
3922
|
"commands",
|
|
4097
|
-
"
|
|
3923
|
+
"release",
|
|
3924
|
+
"finalize.js"
|
|
3925
|
+
]
|
|
3926
|
+
},
|
|
3927
|
+
"release": {
|
|
3928
|
+
"aliases": [],
|
|
3929
|
+
"args": {
|
|
3930
|
+
"commitOrId": {
|
|
3931
|
+
"description": "the commit or ID of the release to get information",
|
|
3932
|
+
"name": "commitOrId",
|
|
3933
|
+
"required": true
|
|
3934
|
+
}
|
|
3935
|
+
},
|
|
3936
|
+
"description": "Get info for a release.",
|
|
3937
|
+
"examples": [
|
|
3938
|
+
"$ balena release a777f7345fe3d655c1c981aa642e5555",
|
|
3939
|
+
"$ balena release 1234567"
|
|
3940
|
+
],
|
|
3941
|
+
"flags": {
|
|
3942
|
+
"json": {
|
|
3943
|
+
"description": "Format output as json.",
|
|
3944
|
+
"helpGroup": "GLOBAL",
|
|
3945
|
+
"name": "json",
|
|
3946
|
+
"allowNo": false,
|
|
3947
|
+
"type": "boolean"
|
|
3948
|
+
},
|
|
3949
|
+
"composition": {
|
|
3950
|
+
"char": "c",
|
|
3951
|
+
"description": "Return the release composition",
|
|
3952
|
+
"name": "composition",
|
|
3953
|
+
"allowNo": false,
|
|
3954
|
+
"type": "boolean"
|
|
3955
|
+
}
|
|
3956
|
+
},
|
|
3957
|
+
"hasDynamicHelp": false,
|
|
3958
|
+
"hiddenAliases": [],
|
|
3959
|
+
"id": "release",
|
|
3960
|
+
"pluginAlias": "balena-cli",
|
|
3961
|
+
"pluginName": "balena-cli",
|
|
3962
|
+
"pluginType": "core",
|
|
3963
|
+
"strict": true,
|
|
3964
|
+
"enableJsonFlag": true,
|
|
3965
|
+
"authenticated": true,
|
|
3966
|
+
"isESM": false,
|
|
3967
|
+
"relativePath": [
|
|
3968
|
+
"build",
|
|
3969
|
+
"commands",
|
|
3970
|
+
"release",
|
|
4098
3971
|
"index.js"
|
|
4099
3972
|
]
|
|
4100
3973
|
},
|
|
3974
|
+
"release:invalidate": {
|
|
3975
|
+
"aliases": [],
|
|
3976
|
+
"args": {
|
|
3977
|
+
"commitOrId": {
|
|
3978
|
+
"description": "the commit or ID of the release to invalidate",
|
|
3979
|
+
"name": "commitOrId",
|
|
3980
|
+
"required": true
|
|
3981
|
+
}
|
|
3982
|
+
},
|
|
3983
|
+
"description": "Invalidate a release.\n\nInvalidate a release.\n\nInvalid releases are not automatically deployed to devices tracking the latest\nrelease. For an invalid release to be deployed to a device, the device should be\nexplicity pinned to that release.",
|
|
3984
|
+
"examples": [
|
|
3985
|
+
"$ balena release invalidate a777f7345fe3d655c1c981aa642e5555",
|
|
3986
|
+
"$ balena release invalidate 1234567"
|
|
3987
|
+
],
|
|
3988
|
+
"flags": {},
|
|
3989
|
+
"hasDynamicHelp": false,
|
|
3990
|
+
"hiddenAliases": [],
|
|
3991
|
+
"id": "release:invalidate",
|
|
3992
|
+
"pluginAlias": "balena-cli",
|
|
3993
|
+
"pluginName": "balena-cli",
|
|
3994
|
+
"pluginType": "core",
|
|
3995
|
+
"strict": true,
|
|
3996
|
+
"enableJsonFlag": false,
|
|
3997
|
+
"authenticated": true,
|
|
3998
|
+
"isESM": false,
|
|
3999
|
+
"relativePath": [
|
|
4000
|
+
"build",
|
|
4001
|
+
"commands",
|
|
4002
|
+
"release",
|
|
4003
|
+
"invalidate.js"
|
|
4004
|
+
]
|
|
4005
|
+
},
|
|
4006
|
+
"release:list": {
|
|
4007
|
+
"aliases": [],
|
|
4008
|
+
"args": {
|
|
4009
|
+
"fleet": {
|
|
4010
|
+
"description": "fleet name or slug (preferred)",
|
|
4011
|
+
"name": "fleet",
|
|
4012
|
+
"required": true
|
|
4013
|
+
}
|
|
4014
|
+
},
|
|
4015
|
+
"description": "List all releases of a fleet.\n\nList all releases of the given fleet.\n\nFleets may be specified by fleet name or slug. Slugs are recommended because\nthey are unique and unambiguous. Slugs can be listed with the `balena fleet list`\ncommand. Note that slugs may change if the fleet is renamed. Fleet names are\nnot unique and may result in \"Fleet is ambiguous\" errors at any time (even if\n\"it used to work in the past\"), for example if the name clashes with a newly\ncreated public/open fleet, or with fleets from other balena accounts that you\nmay be invited to join under any role. For this reason, fleet names are\nespecially discouraged in scripts (e.g. CI environments).",
|
|
4016
|
+
"examples": [
|
|
4017
|
+
"$ balena release list myorg/myfleet"
|
|
4018
|
+
],
|
|
4019
|
+
"flags": {
|
|
4020
|
+
"json": {
|
|
4021
|
+
"description": "Format output as json.",
|
|
4022
|
+
"helpGroup": "GLOBAL",
|
|
4023
|
+
"name": "json",
|
|
4024
|
+
"allowNo": false,
|
|
4025
|
+
"type": "boolean"
|
|
4026
|
+
}
|
|
4027
|
+
},
|
|
4028
|
+
"hasDynamicHelp": false,
|
|
4029
|
+
"hiddenAliases": [],
|
|
4030
|
+
"id": "release:list",
|
|
4031
|
+
"pluginAlias": "balena-cli",
|
|
4032
|
+
"pluginName": "balena-cli",
|
|
4033
|
+
"pluginType": "core",
|
|
4034
|
+
"strict": true,
|
|
4035
|
+
"enableJsonFlag": true,
|
|
4036
|
+
"authenticated": true,
|
|
4037
|
+
"isESM": false,
|
|
4038
|
+
"relativePath": [
|
|
4039
|
+
"build",
|
|
4040
|
+
"commands",
|
|
4041
|
+
"release",
|
|
4042
|
+
"list.js"
|
|
4043
|
+
]
|
|
4044
|
+
},
|
|
4045
|
+
"release:validate": {
|
|
4046
|
+
"aliases": [],
|
|
4047
|
+
"args": {
|
|
4048
|
+
"commitOrId": {
|
|
4049
|
+
"description": "the commit or ID of the release to validate",
|
|
4050
|
+
"name": "commitOrId",
|
|
4051
|
+
"required": true
|
|
4052
|
+
}
|
|
4053
|
+
},
|
|
4054
|
+
"description": "Validate a release.\n\nValidate a release.\n\nValid releases are automatically deployed to devices tracking the latest\nrelease if they are finalized.",
|
|
4055
|
+
"examples": [
|
|
4056
|
+
"$ balena release validate a777f7345fe3d655c1c981aa642e5555",
|
|
4057
|
+
"$ balena release validate 1234567"
|
|
4058
|
+
],
|
|
4059
|
+
"flags": {},
|
|
4060
|
+
"hasDynamicHelp": false,
|
|
4061
|
+
"hiddenAliases": [],
|
|
4062
|
+
"id": "release:validate",
|
|
4063
|
+
"pluginAlias": "balena-cli",
|
|
4064
|
+
"pluginName": "balena-cli",
|
|
4065
|
+
"pluginType": "core",
|
|
4066
|
+
"strict": true,
|
|
4067
|
+
"enableJsonFlag": false,
|
|
4068
|
+
"authenticated": true,
|
|
4069
|
+
"isESM": false,
|
|
4070
|
+
"relativePath": [
|
|
4071
|
+
"build",
|
|
4072
|
+
"commands",
|
|
4073
|
+
"release",
|
|
4074
|
+
"validate.js"
|
|
4075
|
+
]
|
|
4076
|
+
},
|
|
4101
4077
|
"release-asset:delete": {
|
|
4102
4078
|
"aliases": [],
|
|
4103
4079
|
"args": {
|
|
@@ -4313,6 +4289,91 @@
|
|
|
4313
4289
|
"upload.js"
|
|
4314
4290
|
]
|
|
4315
4291
|
},
|
|
4292
|
+
"settings": {
|
|
4293
|
+
"aliases": [],
|
|
4294
|
+
"args": {},
|
|
4295
|
+
"description": "Print current settings.\n\nUse this command to display the current balena CLI settings.",
|
|
4296
|
+
"examples": [
|
|
4297
|
+
"$ balena settings"
|
|
4298
|
+
],
|
|
4299
|
+
"flags": {},
|
|
4300
|
+
"hasDynamicHelp": false,
|
|
4301
|
+
"hiddenAliases": [],
|
|
4302
|
+
"id": "settings",
|
|
4303
|
+
"pluginAlias": "balena-cli",
|
|
4304
|
+
"pluginName": "balena-cli",
|
|
4305
|
+
"pluginType": "core",
|
|
4306
|
+
"strict": true,
|
|
4307
|
+
"enableJsonFlag": false,
|
|
4308
|
+
"isESM": false,
|
|
4309
|
+
"relativePath": [
|
|
4310
|
+
"build",
|
|
4311
|
+
"commands",
|
|
4312
|
+
"settings",
|
|
4313
|
+
"index.js"
|
|
4314
|
+
]
|
|
4315
|
+
},
|
|
4316
|
+
"support": {
|
|
4317
|
+
"aliases": [],
|
|
4318
|
+
"args": {
|
|
4319
|
+
"action": {
|
|
4320
|
+
"description": "enable|disable support access",
|
|
4321
|
+
"name": "action",
|
|
4322
|
+
"options": [
|
|
4323
|
+
"enable",
|
|
4324
|
+
"disable"
|
|
4325
|
+
]
|
|
4326
|
+
}
|
|
4327
|
+
},
|
|
4328
|
+
"description": "Grant or revoke support access for devices or fleets.\n\nGrant or revoke balena support agent access to devices or fleets\non balenaCloud. (This command does not apply to openBalena.)\nAccess will be automatically revoked once the specified duration has elapsed.\n\nDuration defaults to 24h, but can be specified using --duration flag in days\nor hours, e.g. '12h', '2d'.\n\nBoth --device and --fleet flags accept multiple values, specified as\na comma-separated list (with no spaces).\n\nFleets may be specified by fleet name or slug. Fleet slugs are\nthe recommended option, as they are unique and unambiguous. Slugs can be\nlisted with the `balena fleet list` command. Note that slugs may change if the\nfleet is renamed. Fleet names are not unique and may result in \"Fleet is\nambiguous\" errors at any time (even if it \"used to work in the past\"), for\nexample if the name clashes with a newly created public fleet, or with fleets\nfrom other balena accounts that you may be invited to join under any role.\nFor this reason, fleet names are especially discouraged in scripts (e.g. CI\nenvironments).",
|
|
4329
|
+
"examples": [
|
|
4330
|
+
"balena support enable --device ab346f,cd457a --duration 3d",
|
|
4331
|
+
"balena support enable --fleet myFleet --duration 12h",
|
|
4332
|
+
"balena support disable -f myorg/myfleet"
|
|
4333
|
+
],
|
|
4334
|
+
"flags": {
|
|
4335
|
+
"device": {
|
|
4336
|
+
"char": "d",
|
|
4337
|
+
"description": "comma-separated list (no spaces) of device UUIDs",
|
|
4338
|
+
"name": "device",
|
|
4339
|
+
"hasDynamicHelp": false,
|
|
4340
|
+
"multiple": false,
|
|
4341
|
+
"type": "option"
|
|
4342
|
+
},
|
|
4343
|
+
"fleet": {
|
|
4344
|
+
"char": "f",
|
|
4345
|
+
"description": "comma-separated list (no spaces) of fleet names or slugs (preferred)",
|
|
4346
|
+
"name": "fleet",
|
|
4347
|
+
"hasDynamicHelp": false,
|
|
4348
|
+
"multiple": false,
|
|
4349
|
+
"type": "option"
|
|
4350
|
+
},
|
|
4351
|
+
"duration": {
|
|
4352
|
+
"char": "t",
|
|
4353
|
+
"description": "length of time to enable support for, in (h)ours or (d)ays, e.g. 12h, 2d",
|
|
4354
|
+
"name": "duration",
|
|
4355
|
+
"hasDynamicHelp": false,
|
|
4356
|
+
"multiple": false,
|
|
4357
|
+
"type": "option"
|
|
4358
|
+
}
|
|
4359
|
+
},
|
|
4360
|
+
"hasDynamicHelp": false,
|
|
4361
|
+
"hiddenAliases": [],
|
|
4362
|
+
"id": "support",
|
|
4363
|
+
"pluginAlias": "balena-cli",
|
|
4364
|
+
"pluginName": "balena-cli",
|
|
4365
|
+
"pluginType": "core",
|
|
4366
|
+
"strict": true,
|
|
4367
|
+
"enableJsonFlag": false,
|
|
4368
|
+
"authenticated": true,
|
|
4369
|
+
"isESM": false,
|
|
4370
|
+
"relativePath": [
|
|
4371
|
+
"build",
|
|
4372
|
+
"commands",
|
|
4373
|
+
"support",
|
|
4374
|
+
"index.js"
|
|
4375
|
+
]
|
|
4376
|
+
},
|
|
4316
4377
|
"ssh-key:add": {
|
|
4317
4378
|
"aliases": [],
|
|
4318
4379
|
"args": {
|
|
@@ -4448,67 +4509,6 @@
|
|
|
4448
4509
|
"rm.js"
|
|
4449
4510
|
]
|
|
4450
4511
|
},
|
|
4451
|
-
"support": {
|
|
4452
|
-
"aliases": [],
|
|
4453
|
-
"args": {
|
|
4454
|
-
"action": {
|
|
4455
|
-
"description": "enable|disable support access",
|
|
4456
|
-
"name": "action",
|
|
4457
|
-
"options": [
|
|
4458
|
-
"enable",
|
|
4459
|
-
"disable"
|
|
4460
|
-
]
|
|
4461
|
-
}
|
|
4462
|
-
},
|
|
4463
|
-
"description": "Grant or revoke support access for devices or fleets.\n\nGrant or revoke balena support agent access to devices or fleets\non balenaCloud. (This command does not apply to openBalena.)\nAccess will be automatically revoked once the specified duration has elapsed.\n\nDuration defaults to 24h, but can be specified using --duration flag in days\nor hours, e.g. '12h', '2d'.\n\nBoth --device and --fleet flags accept multiple values, specified as\na comma-separated list (with no spaces).\n\nFleets may be specified by fleet name or slug. Fleet slugs are\nthe recommended option, as they are unique and unambiguous. Slugs can be\nlisted with the `balena fleet list` command. Note that slugs may change if the\nfleet is renamed. Fleet names are not unique and may result in \"Fleet is\nambiguous\" errors at any time (even if it \"used to work in the past\"), for\nexample if the name clashes with a newly created public fleet, or with fleets\nfrom other balena accounts that you may be invited to join under any role.\nFor this reason, fleet names are especially discouraged in scripts (e.g. CI\nenvironments).",
|
|
4464
|
-
"examples": [
|
|
4465
|
-
"balena support enable --device ab346f,cd457a --duration 3d",
|
|
4466
|
-
"balena support enable --fleet myFleet --duration 12h",
|
|
4467
|
-
"balena support disable -f myorg/myfleet"
|
|
4468
|
-
],
|
|
4469
|
-
"flags": {
|
|
4470
|
-
"device": {
|
|
4471
|
-
"char": "d",
|
|
4472
|
-
"description": "comma-separated list (no spaces) of device UUIDs",
|
|
4473
|
-
"name": "device",
|
|
4474
|
-
"hasDynamicHelp": false,
|
|
4475
|
-
"multiple": false,
|
|
4476
|
-
"type": "option"
|
|
4477
|
-
},
|
|
4478
|
-
"fleet": {
|
|
4479
|
-
"char": "f",
|
|
4480
|
-
"description": "comma-separated list (no spaces) of fleet names or slugs (preferred)",
|
|
4481
|
-
"name": "fleet",
|
|
4482
|
-
"hasDynamicHelp": false,
|
|
4483
|
-
"multiple": false,
|
|
4484
|
-
"type": "option"
|
|
4485
|
-
},
|
|
4486
|
-
"duration": {
|
|
4487
|
-
"char": "t",
|
|
4488
|
-
"description": "length of time to enable support for, in (h)ours or (d)ays, e.g. 12h, 2d",
|
|
4489
|
-
"name": "duration",
|
|
4490
|
-
"hasDynamicHelp": false,
|
|
4491
|
-
"multiple": false,
|
|
4492
|
-
"type": "option"
|
|
4493
|
-
}
|
|
4494
|
-
},
|
|
4495
|
-
"hasDynamicHelp": false,
|
|
4496
|
-
"hiddenAliases": [],
|
|
4497
|
-
"id": "support",
|
|
4498
|
-
"pluginAlias": "balena-cli",
|
|
4499
|
-
"pluginName": "balena-cli",
|
|
4500
|
-
"pluginType": "core",
|
|
4501
|
-
"strict": true,
|
|
4502
|
-
"enableJsonFlag": false,
|
|
4503
|
-
"authenticated": true,
|
|
4504
|
-
"isESM": false,
|
|
4505
|
-
"relativePath": [
|
|
4506
|
-
"build",
|
|
4507
|
-
"commands",
|
|
4508
|
-
"support",
|
|
4509
|
-
"index.js"
|
|
4510
|
-
]
|
|
4511
|
-
},
|
|
4512
4512
|
"tag:list": {
|
|
4513
4513
|
"aliases": [],
|
|
4514
4514
|
"args": {},
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "balena-cli",
|
|
3
|
-
"version": "23.2.7-build-
|
|
3
|
+
"version": "23.2.7-build-renovate-apple-actions-import-codesign-certs-4-x-3e3bfd47c2ff1c5ae4e8389dd9c0c8efa182d86b-1",
|
|
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-05T20:57:59.600Z"
|
|
266
266
|
}
|
|
267
267
|
}
|
|
@@ -243,21 +243,14 @@ export default class OsConfigureCmd extends Command {
|
|
|
243
243
|
osVersion,
|
|
244
244
|
);
|
|
245
245
|
|
|
246
|
-
const
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
const answers: Answers = {
|
|
255
|
-
...baseAnswers,
|
|
256
|
-
deviceType: deviceTypeSlug,
|
|
257
|
-
version: osVersion,
|
|
258
|
-
developmentMode: developmentMode,
|
|
259
|
-
secureBoot: secureBoot,
|
|
260
|
-
};
|
|
246
|
+
const answers: Answers = await askQuestionsForDeviceType(
|
|
247
|
+
deviceTypeManifest,
|
|
248
|
+
options,
|
|
249
|
+
configJson,
|
|
250
|
+
);
|
|
251
|
+
answers.version = osVersion;
|
|
252
|
+
answers.developmentMode = developmentMode;
|
|
253
|
+
answers.secureBoot = secureBoot;
|
|
261
254
|
|
|
262
255
|
if (configJson == null) {
|
|
263
256
|
answers.provisioningKeyName = options['provisioning-key-name'];
|
|
@@ -266,6 +259,7 @@ export default class OsConfigureCmd extends Command {
|
|
|
266
259
|
if (device != null) {
|
|
267
260
|
configJson = await generateDeviceConfig(device, undefined, answers);
|
|
268
261
|
} else {
|
|
262
|
+
answers.deviceType = deviceTypeSlug;
|
|
269
263
|
configJson = await generateApplicationConfig(app!, answers);
|
|
270
264
|
}
|
|
271
265
|
if (
|
|
@@ -407,9 +401,8 @@ async function checkDeviceTypeCompatibility(
|
|
|
407
401
|
async function askQuestionsForDeviceType(
|
|
408
402
|
deviceType: BalenaSdk.DeviceTypeJson.DeviceType,
|
|
409
403
|
options: FlagsDef,
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
> {
|
|
404
|
+
configJson: import('../../utils/config').ImgConfig | undefined,
|
|
405
|
+
): Promise<Answers> {
|
|
413
406
|
const answerSources: any[] = [
|
|
414
407
|
{
|
|
415
408
|
...camelifyConfigOptions(options),
|
|
@@ -421,6 +414,10 @@ async function askQuestionsForDeviceType(
|
|
|
421
414
|
const questions = deviceType.options ?? [];
|
|
422
415
|
let extraOpts: { override: Partial<Answers> } | undefined;
|
|
423
416
|
|
|
417
|
+
if (configJson != null) {
|
|
418
|
+
answerSources.push(configJson);
|
|
419
|
+
}
|
|
420
|
+
|
|
424
421
|
if (!options.advanced) {
|
|
425
422
|
const advancedGroup = questions.find(
|
|
426
423
|
(question) => question.name === 'advanced' && question.isGroup,
|
|
@@ -439,7 +436,6 @@ async function askQuestionsForDeviceType(
|
|
|
439
436
|
}
|
|
440
437
|
}
|
|
441
438
|
}
|
|
442
|
-
|
|
443
439
|
if (
|
|
444
440
|
!defaultAnswers.network &&
|
|
445
441
|
(defaultAnswers.wifiSsid || defaultAnswers.wifiKey)
|
|
@@ -451,10 +447,7 @@ async function askQuestionsForDeviceType(
|
|
|
451
447
|
extraOpts = { override: defaultAnswers };
|
|
452
448
|
}
|
|
453
449
|
|
|
454
|
-
return (await getCliForm().run(questions, extraOpts)) as
|
|
455
|
-
Answers,
|
|
456
|
-
'appUpdatePollInterval' | 'network' | 'wifiSsid' | 'wifiKey'
|
|
457
|
-
>;
|
|
450
|
+
return (await getCliForm().run(questions, extraOpts)) as Answers;
|
|
458
451
|
}
|
|
459
452
|
|
|
460
453
|
/**
|