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 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
- * os configure: Avoid asking interactive questions when --config is used [Thodoris Greasidis]
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 baseAnswers = configJson == null
62
- ? await askQuestionsForDeviceType(deviceTypeManifest, options)
63
- : {
64
- appUpdatePollInterval: configJson.appUpdatePollInterval,
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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"}
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "balena-cli",
3
- "version": "23.2.7-build-os-configure-config-default-ethernet-37b4a993c4141674b7d0d6f02f2bad9519180458-1",
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-os-configure-config-default-ethernet-37b4a993c4141674b7d0d6f02f2bad9519180458-1",
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": {
@@ -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
- "internal:osinit": {
3005
+ "local:configure": {
2883
3006
  "aliases": [],
2884
3007
  "args": {
2885
- "image": {
2886
- "name": "image",
2887
- "required": true
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": "Do actual init of the device with the preconfigured os image.\n\nDon't use this command directly!\nUse `balena os initialize <image>` instead.",
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": "internal:osinit",
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
- "internal",
2916
- "osinit.js"
3034
+ "local",
3035
+ "configure.js"
2917
3036
  ]
2918
3037
  },
2919
- "join": {
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
- "release:finalize": {
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
- "commitOrId": {
3766
- "description": "the commit or ID of the release to get information",
3767
- "name": "commitOrId",
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": "Get info for a release.",
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 release a777f7345fe3d655c1c981aa642e5555",
3774
- "$ balena release 1234567"
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
- "json": {
3778
- "description": "Format output as json.",
3779
- "helpGroup": "GLOBAL",
3780
- "name": "json",
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
- "composition": {
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": "Return the release composition",
3787
- "name": "composition",
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
- "settings": {
3895
+ "release:finalize": {
4078
3896
  "aliases": [],
4079
- "args": {},
4080
- "description": "Print current settings.\n\nUse this command to display the current balena CLI settings.",
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 settings"
3906
+ "$ balena release finalize a777f7345fe3d655c1c981aa642e5555",
3907
+ "$ balena release finalize 1234567"
4083
3908
  ],
4084
3909
  "flags": {},
4085
3910
  "hasDynamicHelp": false,
4086
3911
  "hiddenAliases": [],
4087
- "id": "settings",
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
- "settings",
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-os-configure-config-default-ethernet-37b4a993c4141674b7d0d6f02f2bad9519180458-1",
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-05T18:52:34.820Z"
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 baseAnswers: Awaited<ReturnType<typeof askQuestionsForDeviceType>> =
247
- configJson == null
248
- ? await askQuestionsForDeviceType(deviceTypeManifest, options)
249
- : {
250
- appUpdatePollInterval: configJson.appUpdatePollInterval,
251
- network:
252
- !configJson.wifiSsid && !configJson.wifiKey ? 'ethernet' : 'wifi',
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
- ): Promise<
411
- Pick<Answers, 'appUpdatePollInterval' | 'network' | 'wifiSsid' | 'wifiKey'>
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 Pick<
455
- Answers,
456
- 'appUpdatePollInterval' | 'network' | 'wifiSsid' | 'wifiKey'
457
- >;
450
+ return (await getCliForm().run(questions, extraOpts)) as Answers;
458
451
  }
459
452
 
460
453
  /**