balena-cli 23.0.0-build-v23-7caab12ed41a7da6acf9ba4521ce7f380d0fef88-1 → 23.0.0-build-v23-5b5d201bc754465e65747ccb63a7f732a0da02af-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,6 @@ This project adheres to [Semantic Versioning](http://semver.org/).
6
6
 
7
7
  ## 23.0.0 - 2025-09-04
8
8
 
9
- * temporarily skip `version --verbose` test [Matthew Yarmolinsky]
10
- * nock verbose version test [Matthew Yarmolinsky]
11
9
  * Deduplicate dependencies [Matthew Yarmolinsky]
12
10
  * Drop all deprecated aliases [Matthew Yarmolinsky]
13
11
  * Use oclif's native json support instead of manually adding it [Matthew Yarmolinsky]
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "balena-cli",
3
- "version": "23.0.0-build-v23-7caab12ed41a7da6acf9ba4521ce7f380d0fef88-1",
3
+ "version": "23.0.0-build-v23-5b5d201bc754465e65747ccb63a7f732a0da02af-1",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "balena-cli",
9
- "version": "23.0.0-build-v23-7caab12ed41a7da6acf9ba4521ce7f380d0fef88-1",
9
+ "version": "23.0.0-build-v23-5b5d201bc754465e65747ccb63a7f732a0da02af-1",
10
10
  "hasInstallScript": true,
11
11
  "license": "Apache-2.0",
12
12
  "dependencies": {
@@ -160,56 +160,6 @@
160
160
  "create.js"
161
161
  ]
162
162
  },
163
- "block:create": {
164
- "aliases": [],
165
- "args": {
166
- "name": {
167
- "description": "block name",
168
- "name": "name",
169
- "required": true
170
- }
171
- },
172
- "description": "Create an block.\n\nCreate a new balena block.\n\nYou can specify the organization the block should belong to using\nthe `--organization` option. The organization's handle, not its name,\nshould be provided. Organization handles can be listed with the\n`balena organization list` command.\n\nThe block's default device type is specified with the `--type` option.\nThe `balena device-type list` command can be used to list the available\ndevice types.\n\nInteractive dropdowns will be shown for selection if no device type or\norganization is specified and there are multiple options to choose from.\nIf there is a single option to choose from, it will be chosen automatically.\nThis interactive behavior can be disabled by explicitly specifying a device\ntype and organization.",
173
- "examples": [
174
- "$ balena block create MyBlock",
175
- "$ balena block create MyBlock --organization mmyorg",
176
- "$ balena block create MyBlock -o myorg --type raspberry-pi"
177
- ],
178
- "flags": {
179
- "organization": {
180
- "char": "o",
181
- "description": "handle of the organization the block should belong to",
182
- "name": "organization",
183
- "hasDynamicHelp": false,
184
- "multiple": false,
185
- "type": "option"
186
- },
187
- "type": {
188
- "char": "t",
189
- "description": "block device type (Check available types with `balena device-type list`)",
190
- "name": "type",
191
- "hasDynamicHelp": false,
192
- "multiple": false,
193
- "type": "option"
194
- }
195
- },
196
- "hasDynamicHelp": false,
197
- "hiddenAliases": [],
198
- "id": "block:create",
199
- "pluginAlias": "balena-cli",
200
- "pluginName": "balena-cli",
201
- "pluginType": "core",
202
- "strict": true,
203
- "enableJsonFlag": false,
204
- "authenticated": true,
205
- "isESM": false,
206
- "relativePath": [
207
- "build",
208
- "commands",
209
- "block",
210
- "create.js"
211
- ]
212
- },
213
163
  "build": {
214
164
  "aliases": [],
215
165
  "args": {
@@ -412,6 +362,56 @@
412
362
  "index.js"
413
363
  ]
414
364
  },
365
+ "block:create": {
366
+ "aliases": [],
367
+ "args": {
368
+ "name": {
369
+ "description": "block name",
370
+ "name": "name",
371
+ "required": true
372
+ }
373
+ },
374
+ "description": "Create an block.\n\nCreate a new balena block.\n\nYou can specify the organization the block should belong to using\nthe `--organization` option. The organization's handle, not its name,\nshould be provided. Organization handles can be listed with the\n`balena organization list` command.\n\nThe block's default device type is specified with the `--type` option.\nThe `balena device-type list` command can be used to list the available\ndevice types.\n\nInteractive dropdowns will be shown for selection if no device type or\norganization is specified and there are multiple options to choose from.\nIf there is a single option to choose from, it will be chosen automatically.\nThis interactive behavior can be disabled by explicitly specifying a device\ntype and organization.",
375
+ "examples": [
376
+ "$ balena block create MyBlock",
377
+ "$ balena block create MyBlock --organization mmyorg",
378
+ "$ balena block create MyBlock -o myorg --type raspberry-pi"
379
+ ],
380
+ "flags": {
381
+ "organization": {
382
+ "char": "o",
383
+ "description": "handle of the organization the block should belong to",
384
+ "name": "organization",
385
+ "hasDynamicHelp": false,
386
+ "multiple": false,
387
+ "type": "option"
388
+ },
389
+ "type": {
390
+ "char": "t",
391
+ "description": "block device type (Check available types with `balena device-type list`)",
392
+ "name": "type",
393
+ "hasDynamicHelp": false,
394
+ "multiple": false,
395
+ "type": "option"
396
+ }
397
+ },
398
+ "hasDynamicHelp": false,
399
+ "hiddenAliases": [],
400
+ "id": "block:create",
401
+ "pluginAlias": "balena-cli",
402
+ "pluginName": "balena-cli",
403
+ "pluginType": "core",
404
+ "strict": true,
405
+ "enableJsonFlag": false,
406
+ "authenticated": true,
407
+ "isESM": false,
408
+ "relativePath": [
409
+ "build",
410
+ "commands",
411
+ "block",
412
+ "create.js"
413
+ ]
414
+ },
415
415
  "config:generate": {
416
416
  "aliases": [],
417
417
  "args": {},
@@ -985,45 +985,6 @@
985
985
  "index.js"
986
986
  ]
987
987
  },
988
- "device-type:list": {
989
- "aliases": [],
990
- "args": {},
991
- "description": "List the device types supported by balena (like 'raspberrypi3' or 'intel-nuc').\n\nList the device types supported by balena (like 'raspberrypi3' or 'intel-nuc').\n\nBy default, only actively supported device types are listed.\nThe --all option can be used to list all device types, including those that are\nno longer supported by balena.",
992
- "examples": [
993
- "$ balena device-type list",
994
- "$ balena device-type list --all"
995
- ],
996
- "flags": {
997
- "json": {
998
- "description": "Format output as json.",
999
- "helpGroup": "GLOBAL",
1000
- "name": "json",
1001
- "allowNo": false,
1002
- "type": "boolean"
1003
- },
1004
- "all": {
1005
- "description": "include device types no longer supported by balena",
1006
- "name": "all",
1007
- "allowNo": false,
1008
- "type": "boolean"
1009
- }
1010
- },
1011
- "hasDynamicHelp": false,
1012
- "hiddenAliases": [],
1013
- "id": "device-type:list",
1014
- "pluginAlias": "balena-cli",
1015
- "pluginName": "balena-cli",
1016
- "pluginType": "core",
1017
- "strict": true,
1018
- "enableJsonFlag": true,
1019
- "isESM": false,
1020
- "relativePath": [
1021
- "build",
1022
- "commands",
1023
- "device-type",
1024
- "list.js"
1025
- ]
1026
- },
1027
988
  "device:deactivate": {
1028
989
  "aliases": [],
1029
990
  "args": {
@@ -2257,6 +2218,45 @@
2257
2218
  "tunnel.js"
2258
2219
  ]
2259
2220
  },
2221
+ "device-type:list": {
2222
+ "aliases": [],
2223
+ "args": {},
2224
+ "description": "List the device types supported by balena (like 'raspberrypi3' or 'intel-nuc').\n\nList the device types supported by balena (like 'raspberrypi3' or 'intel-nuc').\n\nBy default, only actively supported device types are listed.\nThe --all option can be used to list all device types, including those that are\nno longer supported by balena.",
2225
+ "examples": [
2226
+ "$ balena device-type list",
2227
+ "$ balena device-type list --all"
2228
+ ],
2229
+ "flags": {
2230
+ "json": {
2231
+ "description": "Format output as json.",
2232
+ "helpGroup": "GLOBAL",
2233
+ "name": "json",
2234
+ "allowNo": false,
2235
+ "type": "boolean"
2236
+ },
2237
+ "all": {
2238
+ "description": "include device types no longer supported by balena",
2239
+ "name": "all",
2240
+ "allowNo": false,
2241
+ "type": "boolean"
2242
+ }
2243
+ },
2244
+ "hasDynamicHelp": false,
2245
+ "hiddenAliases": [],
2246
+ "id": "device-type:list",
2247
+ "pluginAlias": "balena-cli",
2248
+ "pluginName": "balena-cli",
2249
+ "pluginType": "core",
2250
+ "strict": true,
2251
+ "enableJsonFlag": true,
2252
+ "isESM": false,
2253
+ "relativePath": [
2254
+ "build",
2255
+ "commands",
2256
+ "device-type",
2257
+ "list.js"
2258
+ ]
2259
+ },
2260
2260
  "env:list": {
2261
2261
  "aliases": [],
2262
2262
  "args": {},
@@ -3277,84 +3277,214 @@
3277
3277
  "list.js"
3278
3278
  ]
3279
3279
  },
3280
- "os:configure": {
3280
+ "preload": {
3281
3281
  "aliases": [],
3282
3282
  "args": {
3283
3283
  "image": {
3284
- "description": "path to a balenaOS image file, e.g. \"rpi3.img\"",
3284
+ "description": "the image file path",
3285
3285
  "name": "image",
3286
3286
  "required": true
3287
3287
  }
3288
3288
  },
3289
- "description": "Configure a previously downloaded balenaOS image.\n\nConfigure a previously downloaded balenaOS image for a specific device type\nor fleet.\n\nConfiguration settings such as WiFi authentication will be taken from the\nfollowing sources, in precedence order:\n1. Command-line options like `--config-wifi-ssid`\n2. A given `config.json` file specified with the `--config` option.\n3. User input through interactive prompts (text menus).\n\nThe --device-type option is used to override the fleet's default device type,\nin case of a fleet with mixed device types.\n\nThe '--dev' option is used to configure balenaOS to operate in development mode,\nallowing unauthenticated root ssh access and exposing network ports such as\nbalenaEngine's 2375 (unencrypted). This option causes `\"developmentMode\": true`\nto be inserted in the 'config.json' file in the image's boot partition. Development\nmode (as a configurable option) is applicable to balenaOS releases from early\n2022. Older releases have separate development and production balenaOS images\nthat cannot be reconfigured through 'config.json' or the '--dev' option. Do not\nconfuse the balenaOS \"development mode\" with a device's \"local mode\", the latter\nbeing a supervisor feature that allows the \"balena push\" command to push a user's\napplication directly to a device in the local network.\n\nThe '--secureBoot' option is used to configure a balenaOS installer image to opt-in\nsecure boot and disk encryption.\n\nThe --system-connection (-c) option is used to inject NetworkManager connection\nprofiles for additional network interfaces, such as cellular/GSM or additional\nWiFi or ethernet connections. This option may be passed multiple times in case there\nare multiple files to inject. See connection profile examples and reference at:\nhttps://www.balena.io/docs/reference/OS/network/2.x/\nhttps://developer.gnome.org/NetworkManager/stable/ref-settings.html\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).",
3289
+ "description": "Preload a release on a disk image (or Edison zip archive).\n\nPreload a release (service images/containers) from a balena fleet, and optionally\na balenaOS splash screen, in a previously downloaded '.img' balenaOS image file\nin the local disk (a zip file is only accepted for the Intel Edison device type).\nAfter preloading, the balenaOS image file can be flashed to a device's SD card.\nWhen the device boots, it will not need to download the release, as it was\npreloaded. This is usually combined with release pinning\n(https://www.balena.io/docs/learn/deploy/release-strategy/release-policy/)\nto avoid the device downloading a newer release straight away, if available.\nCheck also the Preloading and Preregistering section of the balena CLI's advanced\nmasterclass document:\nhttps://www.balena.io/docs/learn/more/masterclasses/advanced-cli/#5-preloading-and-preregistering\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).\n\nNote that the this command requires Docker to be installed, as further detailed\nin the balena CLI's installation instructions:\nhttps://github.com/balena-io/balena-cli/blob/master/INSTALL.md\nThe `--dockerHost` and `--dockerPort` flags allow a remote Docker engine to\nbe used, however the image file must be accessible to the remote Docker engine\non the same path given on the command line. This is because Docker's bind mount\nfeature is used to \"share\" the image with a container that performs the preload.",
3290
3290
  "examples": [
3291
- "$ balena os configure ../path/rpi3.img --device 7cf02a6",
3292
- "$ balena os configure ../path/rpi3.img --fleet myorg/myfleet",
3293
- "$ balena os configure ../path/rpi3.img -f myorg/myfleet --device-type raspberrypi3",
3294
- "$ balena os configure ../path/rpi3.img --config myWifiConfig.json"
3291
+ "$ balena preload balena.img --fleet MyFleet --commit e1f2592fc6ee949e68756d4f4a48e49bff8d72a0",
3292
+ "$ balena preload balena.img --fleet myorg/myfleet --splash-image image.png",
3293
+ "$ balena preload balena.img"
3295
3294
  ],
3296
3295
  "flags": {
3297
- "advanced": {
3298
- "char": "v",
3299
- "description": "ask advanced configuration questions (when in interactive mode)",
3300
- "name": "advanced",
3301
- "allowNo": false,
3302
- "type": "boolean"
3303
- },
3304
3296
  "fleet": {
3305
3297
  "char": "f",
3306
3298
  "description": "fleet name or slug (preferred)",
3307
- "exclusive": [
3308
- "device",
3309
- "config"
3310
- ],
3311
3299
  "name": "fleet",
3312
3300
  "hasDynamicHelp": false,
3313
3301
  "multiple": false,
3314
3302
  "type": "option"
3315
3303
  },
3316
- "config": {
3317
- "description": "path to a pre-generated config.json file to be injected in the OS image",
3318
- "exclusive": [
3319
- "advanced",
3320
- "fleet",
3321
- "config-app-update-poll-interval",
3322
- "config-network",
3323
- "config-wifi-key",
3324
- "config-wifi-ssid",
3325
- "dev",
3326
- "secureBoot",
3327
- "device",
3328
- "device-type",
3329
- "initial-device-name",
3330
- "provisioning-key-name",
3331
- "provisioning-key-expiry-date"
3332
- ],
3333
- "name": "config",
3304
+ "commit": {
3305
+ "char": "c",
3306
+ "description": "The commit hash of the release to preload. Use \"current\" to specify the current\nrelease (ignored if no appId is given). The current release is usually also the\nlatest, but can be pinned to a specific release. See:\nhttps://www.balena.io/docs/learn/deploy/release-strategy/release-policy/\nhttps://www.balena.io/docs/learn/more/masterclasses/fleet-management/#63-pin-using-the-api\nhttps://github.com/balena-io-examples/staged-releases",
3307
+ "name": "commit",
3334
3308
  "hasDynamicHelp": false,
3335
3309
  "multiple": false,
3336
3310
  "type": "option"
3337
3311
  },
3338
- "config-app-update-poll-interval": {
3339
- "description": "supervisor cloud polling interval in minutes (e.g. for variable updates)",
3340
- "name": "config-app-update-poll-interval",
3312
+ "splash-image": {
3313
+ "char": "s",
3314
+ "description": "path to a png image to replace the splash screen",
3315
+ "name": "splash-image",
3341
3316
  "hasDynamicHelp": false,
3342
3317
  "multiple": false,
3343
3318
  "type": "option"
3344
3319
  },
3345
- "config-network": {
3346
- "description": "device network type (non-interactive configuration)",
3347
- "name": "config-network",
3320
+ "dont-check-arch": {
3321
+ "description": "disable architecture compatibility check between image and fleet",
3322
+ "name": "dont-check-arch",
3323
+ "allowNo": false,
3324
+ "type": "boolean"
3325
+ },
3326
+ "pin-device-to-release": {
3327
+ "char": "p",
3328
+ "description": "pin the preloaded device to the preloaded release on provision",
3329
+ "name": "pin-device-to-release",
3330
+ "allowNo": true,
3331
+ "type": "boolean"
3332
+ },
3333
+ "additional-space": {
3334
+ "description": "expand the image by this amount of bytes instead of automatically estimating the required amount",
3335
+ "name": "additional-space",
3348
3336
  "hasDynamicHelp": false,
3349
3337
  "multiple": false,
3350
- "options": [
3351
- "ethernet",
3352
- "wifi"
3353
- ],
3354
3338
  "type": "option"
3355
3339
  },
3356
- "config-wifi-key": {
3357
- "description": "WiFi key (password) (non-interactive configuration)",
3340
+ "add-certificate": {
3341
+ "description": "Add the given certificate (in PEM format) to /etc/ssl/certs in the preloading container.\nThe file name must end with '.crt' and must not be already contained in the preloader's\n/etc/ssl/certs folder.\nCan be repeated to add multiple certificates.",
3342
+ "name": "add-certificate",
3343
+ "hasDynamicHelp": false,
3344
+ "multiple": true,
3345
+ "type": "option"
3346
+ },
3347
+ "docker": {
3348
+ "char": "P",
3349
+ "description": "Path to a local docker socket (e.g. /var/run/docker.sock)",
3350
+ "name": "docker",
3351
+ "hasDynamicHelp": false,
3352
+ "multiple": false,
3353
+ "type": "option"
3354
+ },
3355
+ "dockerHost": {
3356
+ "char": "h",
3357
+ "description": "Docker daemon hostname or IP address (dev machine or balena device) ",
3358
+ "name": "dockerHost",
3359
+ "hasDynamicHelp": false,
3360
+ "multiple": false,
3361
+ "type": "option"
3362
+ },
3363
+ "dockerPort": {
3364
+ "description": "Docker daemon TCP port number (hint: 2375 for balena devices)",
3365
+ "name": "dockerPort",
3366
+ "hasDynamicHelp": false,
3367
+ "multiple": false,
3368
+ "type": "option"
3369
+ },
3370
+ "ca": {
3371
+ "description": "Docker host TLS certificate authority file",
3372
+ "name": "ca",
3373
+ "hasDynamicHelp": false,
3374
+ "multiple": false,
3375
+ "type": "option"
3376
+ },
3377
+ "cert": {
3378
+ "description": "Docker host TLS certificate file",
3379
+ "name": "cert",
3380
+ "hasDynamicHelp": false,
3381
+ "multiple": false,
3382
+ "type": "option"
3383
+ },
3384
+ "key": {
3385
+ "description": "Docker host TLS key file",
3386
+ "name": "key",
3387
+ "hasDynamicHelp": false,
3388
+ "multiple": false,
3389
+ "type": "option"
3390
+ }
3391
+ },
3392
+ "hasDynamicHelp": false,
3393
+ "hiddenAliases": [],
3394
+ "id": "preload",
3395
+ "pluginAlias": "balena-cli",
3396
+ "pluginName": "balena-cli",
3397
+ "pluginType": "core",
3398
+ "strict": true,
3399
+ "enableJsonFlag": false,
3400
+ "authenticated": true,
3401
+ "primary": true,
3402
+ "isESM": false,
3403
+ "relativePath": [
3404
+ "build",
3405
+ "commands",
3406
+ "preload",
3407
+ "index.js"
3408
+ ]
3409
+ },
3410
+ "os:configure": {
3411
+ "aliases": [],
3412
+ "args": {
3413
+ "image": {
3414
+ "description": "path to a balenaOS image file, e.g. \"rpi3.img\"",
3415
+ "name": "image",
3416
+ "required": true
3417
+ }
3418
+ },
3419
+ "description": "Configure a previously downloaded balenaOS image.\n\nConfigure a previously downloaded balenaOS image for a specific device type\nor fleet.\n\nConfiguration settings such as WiFi authentication will be taken from the\nfollowing sources, in precedence order:\n1. Command-line options like `--config-wifi-ssid`\n2. A given `config.json` file specified with the `--config` option.\n3. User input through interactive prompts (text menus).\n\nThe --device-type option is used to override the fleet's default device type,\nin case of a fleet with mixed device types.\n\nThe '--dev' option is used to configure balenaOS to operate in development mode,\nallowing unauthenticated root ssh access and exposing network ports such as\nbalenaEngine's 2375 (unencrypted). This option causes `\"developmentMode\": true`\nto be inserted in the 'config.json' file in the image's boot partition. Development\nmode (as a configurable option) is applicable to balenaOS releases from early\n2022. Older releases have separate development and production balenaOS images\nthat cannot be reconfigured through 'config.json' or the '--dev' option. Do not\nconfuse the balenaOS \"development mode\" with a device's \"local mode\", the latter\nbeing a supervisor feature that allows the \"balena push\" command to push a user's\napplication directly to a device in the local network.\n\nThe '--secureBoot' option is used to configure a balenaOS installer image to opt-in\nsecure boot and disk encryption.\n\nThe --system-connection (-c) option is used to inject NetworkManager connection\nprofiles for additional network interfaces, such as cellular/GSM or additional\nWiFi or ethernet connections. This option may be passed multiple times in case there\nare multiple files to inject. See connection profile examples and reference at:\nhttps://www.balena.io/docs/reference/OS/network/2.x/\nhttps://developer.gnome.org/NetworkManager/stable/ref-settings.html\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).",
3420
+ "examples": [
3421
+ "$ balena os configure ../path/rpi3.img --device 7cf02a6",
3422
+ "$ balena os configure ../path/rpi3.img --fleet myorg/myfleet",
3423
+ "$ balena os configure ../path/rpi3.img -f myorg/myfleet --device-type raspberrypi3",
3424
+ "$ balena os configure ../path/rpi3.img --config myWifiConfig.json"
3425
+ ],
3426
+ "flags": {
3427
+ "advanced": {
3428
+ "char": "v",
3429
+ "description": "ask advanced configuration questions (when in interactive mode)",
3430
+ "name": "advanced",
3431
+ "allowNo": false,
3432
+ "type": "boolean"
3433
+ },
3434
+ "fleet": {
3435
+ "char": "f",
3436
+ "description": "fleet name or slug (preferred)",
3437
+ "exclusive": [
3438
+ "device",
3439
+ "config"
3440
+ ],
3441
+ "name": "fleet",
3442
+ "hasDynamicHelp": false,
3443
+ "multiple": false,
3444
+ "type": "option"
3445
+ },
3446
+ "config": {
3447
+ "description": "path to a pre-generated config.json file to be injected in the OS image",
3448
+ "exclusive": [
3449
+ "advanced",
3450
+ "fleet",
3451
+ "config-app-update-poll-interval",
3452
+ "config-network",
3453
+ "config-wifi-key",
3454
+ "config-wifi-ssid",
3455
+ "dev",
3456
+ "secureBoot",
3457
+ "device",
3458
+ "device-type",
3459
+ "initial-device-name",
3460
+ "provisioning-key-name",
3461
+ "provisioning-key-expiry-date"
3462
+ ],
3463
+ "name": "config",
3464
+ "hasDynamicHelp": false,
3465
+ "multiple": false,
3466
+ "type": "option"
3467
+ },
3468
+ "config-app-update-poll-interval": {
3469
+ "description": "supervisor cloud polling interval in minutes (e.g. for variable updates)",
3470
+ "name": "config-app-update-poll-interval",
3471
+ "hasDynamicHelp": false,
3472
+ "multiple": false,
3473
+ "type": "option"
3474
+ },
3475
+ "config-network": {
3476
+ "description": "device network type (non-interactive configuration)",
3477
+ "name": "config-network",
3478
+ "hasDynamicHelp": false,
3479
+ "multiple": false,
3480
+ "options": [
3481
+ "ethernet",
3482
+ "wifi"
3483
+ ],
3484
+ "type": "option"
3485
+ },
3486
+ "config-wifi-key": {
3487
+ "description": "WiFi key (password) (non-interactive configuration)",
3358
3488
  "name": "config-wifi-key",
3359
3489
  "hasDynamicHelp": false,
3360
3490
  "multiple": false,
@@ -3612,136 +3742,6 @@
3612
3742
  "versions.js"
3613
3743
  ]
3614
3744
  },
3615
- "preload": {
3616
- "aliases": [],
3617
- "args": {
3618
- "image": {
3619
- "description": "the image file path",
3620
- "name": "image",
3621
- "required": true
3622
- }
3623
- },
3624
- "description": "Preload a release on a disk image (or Edison zip archive).\n\nPreload a release (service images/containers) from a balena fleet, and optionally\na balenaOS splash screen, in a previously downloaded '.img' balenaOS image file\nin the local disk (a zip file is only accepted for the Intel Edison device type).\nAfter preloading, the balenaOS image file can be flashed to a device's SD card.\nWhen the device boots, it will not need to download the release, as it was\npreloaded. This is usually combined with release pinning\n(https://www.balena.io/docs/learn/deploy/release-strategy/release-policy/)\nto avoid the device downloading a newer release straight away, if available.\nCheck also the Preloading and Preregistering section of the balena CLI's advanced\nmasterclass document:\nhttps://www.balena.io/docs/learn/more/masterclasses/advanced-cli/#5-preloading-and-preregistering\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).\n\nNote that the this command requires Docker to be installed, as further detailed\nin the balena CLI's installation instructions:\nhttps://github.com/balena-io/balena-cli/blob/master/INSTALL.md\nThe `--dockerHost` and `--dockerPort` flags allow a remote Docker engine to\nbe used, however the image file must be accessible to the remote Docker engine\non the same path given on the command line. This is because Docker's bind mount\nfeature is used to \"share\" the image with a container that performs the preload.",
3625
- "examples": [
3626
- "$ balena preload balena.img --fleet MyFleet --commit e1f2592fc6ee949e68756d4f4a48e49bff8d72a0",
3627
- "$ balena preload balena.img --fleet myorg/myfleet --splash-image image.png",
3628
- "$ balena preload balena.img"
3629
- ],
3630
- "flags": {
3631
- "fleet": {
3632
- "char": "f",
3633
- "description": "fleet name or slug (preferred)",
3634
- "name": "fleet",
3635
- "hasDynamicHelp": false,
3636
- "multiple": false,
3637
- "type": "option"
3638
- },
3639
- "commit": {
3640
- "char": "c",
3641
- "description": "The commit hash of the release to preload. Use \"current\" to specify the current\nrelease (ignored if no appId is given). The current release is usually also the\nlatest, but can be pinned to a specific release. See:\nhttps://www.balena.io/docs/learn/deploy/release-strategy/release-policy/\nhttps://www.balena.io/docs/learn/more/masterclasses/fleet-management/#63-pin-using-the-api\nhttps://github.com/balena-io-examples/staged-releases",
3642
- "name": "commit",
3643
- "hasDynamicHelp": false,
3644
- "multiple": false,
3645
- "type": "option"
3646
- },
3647
- "splash-image": {
3648
- "char": "s",
3649
- "description": "path to a png image to replace the splash screen",
3650
- "name": "splash-image",
3651
- "hasDynamicHelp": false,
3652
- "multiple": false,
3653
- "type": "option"
3654
- },
3655
- "dont-check-arch": {
3656
- "description": "disable architecture compatibility check between image and fleet",
3657
- "name": "dont-check-arch",
3658
- "allowNo": false,
3659
- "type": "boolean"
3660
- },
3661
- "pin-device-to-release": {
3662
- "char": "p",
3663
- "description": "pin the preloaded device to the preloaded release on provision",
3664
- "name": "pin-device-to-release",
3665
- "allowNo": true,
3666
- "type": "boolean"
3667
- },
3668
- "additional-space": {
3669
- "description": "expand the image by this amount of bytes instead of automatically estimating the required amount",
3670
- "name": "additional-space",
3671
- "hasDynamicHelp": false,
3672
- "multiple": false,
3673
- "type": "option"
3674
- },
3675
- "add-certificate": {
3676
- "description": "Add the given certificate (in PEM format) to /etc/ssl/certs in the preloading container.\nThe file name must end with '.crt' and must not be already contained in the preloader's\n/etc/ssl/certs folder.\nCan be repeated to add multiple certificates.",
3677
- "name": "add-certificate",
3678
- "hasDynamicHelp": false,
3679
- "multiple": true,
3680
- "type": "option"
3681
- },
3682
- "docker": {
3683
- "char": "P",
3684
- "description": "Path to a local docker socket (e.g. /var/run/docker.sock)",
3685
- "name": "docker",
3686
- "hasDynamicHelp": false,
3687
- "multiple": false,
3688
- "type": "option"
3689
- },
3690
- "dockerHost": {
3691
- "char": "h",
3692
- "description": "Docker daemon hostname or IP address (dev machine or balena device) ",
3693
- "name": "dockerHost",
3694
- "hasDynamicHelp": false,
3695
- "multiple": false,
3696
- "type": "option"
3697
- },
3698
- "dockerPort": {
3699
- "description": "Docker daemon TCP port number (hint: 2375 for balena devices)",
3700
- "name": "dockerPort",
3701
- "hasDynamicHelp": false,
3702
- "multiple": false,
3703
- "type": "option"
3704
- },
3705
- "ca": {
3706
- "description": "Docker host TLS certificate authority file",
3707
- "name": "ca",
3708
- "hasDynamicHelp": false,
3709
- "multiple": false,
3710
- "type": "option"
3711
- },
3712
- "cert": {
3713
- "description": "Docker host TLS certificate file",
3714
- "name": "cert",
3715
- "hasDynamicHelp": false,
3716
- "multiple": false,
3717
- "type": "option"
3718
- },
3719
- "key": {
3720
- "description": "Docker host TLS key file",
3721
- "name": "key",
3722
- "hasDynamicHelp": false,
3723
- "multiple": false,
3724
- "type": "option"
3725
- }
3726
- },
3727
- "hasDynamicHelp": false,
3728
- "hiddenAliases": [],
3729
- "id": "preload",
3730
- "pluginAlias": "balena-cli",
3731
- "pluginName": "balena-cli",
3732
- "pluginType": "core",
3733
- "strict": true,
3734
- "enableJsonFlag": false,
3735
- "authenticated": true,
3736
- "primary": true,
3737
- "isESM": false,
3738
- "relativePath": [
3739
- "build",
3740
- "commands",
3741
- "preload",
3742
- "index.js"
3743
- ]
3744
- },
3745
3745
  "push": {
3746
3746
  "aliases": [],
3747
3747
  "args": {
@@ -4328,67 +4328,6 @@
4328
4328
  "index.js"
4329
4329
  ]
4330
4330
  },
4331
- "support": {
4332
- "aliases": [],
4333
- "args": {
4334
- "action": {
4335
- "description": "enable|disable support access",
4336
- "name": "action",
4337
- "options": [
4338
- "enable",
4339
- "disable"
4340
- ]
4341
- }
4342
- },
4343
- "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).",
4344
- "examples": [
4345
- "balena support enable --device ab346f,cd457a --duration 3d",
4346
- "balena support enable --fleet myFleet --duration 12h",
4347
- "balena support disable -f myorg/myfleet"
4348
- ],
4349
- "flags": {
4350
- "device": {
4351
- "char": "d",
4352
- "description": "comma-separated list (no spaces) of device UUIDs",
4353
- "name": "device",
4354
- "hasDynamicHelp": false,
4355
- "multiple": false,
4356
- "type": "option"
4357
- },
4358
- "fleet": {
4359
- "char": "f",
4360
- "description": "comma-separated list (no spaces) of fleet names or slugs (preferred)",
4361
- "name": "fleet",
4362
- "hasDynamicHelp": false,
4363
- "multiple": false,
4364
- "type": "option"
4365
- },
4366
- "duration": {
4367
- "char": "t",
4368
- "description": "length of time to enable support for, in (h)ours or (d)ays, e.g. 12h, 2d",
4369
- "name": "duration",
4370
- "hasDynamicHelp": false,
4371
- "multiple": false,
4372
- "type": "option"
4373
- }
4374
- },
4375
- "hasDynamicHelp": false,
4376
- "hiddenAliases": [],
4377
- "id": "support",
4378
- "pluginAlias": "balena-cli",
4379
- "pluginName": "balena-cli",
4380
- "pluginType": "core",
4381
- "strict": true,
4382
- "enableJsonFlag": false,
4383
- "authenticated": true,
4384
- "isESM": false,
4385
- "relativePath": [
4386
- "build",
4387
- "commands",
4388
- "support",
4389
- "index.js"
4390
- ]
4391
- },
4392
4331
  "ssh-key:add": {
4393
4332
  "aliases": [],
4394
4333
  "args": {
@@ -4524,6 +4463,89 @@
4524
4463
  "rm.js"
4525
4464
  ]
4526
4465
  },
4466
+ "support": {
4467
+ "aliases": [],
4468
+ "args": {
4469
+ "action": {
4470
+ "description": "enable|disable support access",
4471
+ "name": "action",
4472
+ "options": [
4473
+ "enable",
4474
+ "disable"
4475
+ ]
4476
+ }
4477
+ },
4478
+ "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).",
4479
+ "examples": [
4480
+ "balena support enable --device ab346f,cd457a --duration 3d",
4481
+ "balena support enable --fleet myFleet --duration 12h",
4482
+ "balena support disable -f myorg/myfleet"
4483
+ ],
4484
+ "flags": {
4485
+ "device": {
4486
+ "char": "d",
4487
+ "description": "comma-separated list (no spaces) of device UUIDs",
4488
+ "name": "device",
4489
+ "hasDynamicHelp": false,
4490
+ "multiple": false,
4491
+ "type": "option"
4492
+ },
4493
+ "fleet": {
4494
+ "char": "f",
4495
+ "description": "comma-separated list (no spaces) of fleet names or slugs (preferred)",
4496
+ "name": "fleet",
4497
+ "hasDynamicHelp": false,
4498
+ "multiple": false,
4499
+ "type": "option"
4500
+ },
4501
+ "duration": {
4502
+ "char": "t",
4503
+ "description": "length of time to enable support for, in (h)ours or (d)ays, e.g. 12h, 2d",
4504
+ "name": "duration",
4505
+ "hasDynamicHelp": false,
4506
+ "multiple": false,
4507
+ "type": "option"
4508
+ }
4509
+ },
4510
+ "hasDynamicHelp": false,
4511
+ "hiddenAliases": [],
4512
+ "id": "support",
4513
+ "pluginAlias": "balena-cli",
4514
+ "pluginName": "balena-cli",
4515
+ "pluginType": "core",
4516
+ "strict": true,
4517
+ "enableJsonFlag": false,
4518
+ "authenticated": true,
4519
+ "isESM": false,
4520
+ "relativePath": [
4521
+ "build",
4522
+ "commands",
4523
+ "support",
4524
+ "index.js"
4525
+ ]
4526
+ },
4527
+ "util:available-drives": {
4528
+ "aliases": [],
4529
+ "args": {},
4530
+ "description": "List available drives.\n\nList available drives which are usable for writing an OS image to.\nDoes not list system drives.",
4531
+ "flags": {},
4532
+ "hasDynamicHelp": false,
4533
+ "hiddenAliases": [],
4534
+ "id": "util:available-drives",
4535
+ "pluginAlias": "balena-cli",
4536
+ "pluginName": "balena-cli",
4537
+ "pluginType": "core",
4538
+ "strict": true,
4539
+ "enableJsonFlag": false,
4540
+ "offlineCompatible": true,
4541
+ "isESM": false,
4542
+ "relativePath": [
4543
+ "build",
4544
+ "commands",
4545
+ "util",
4546
+ "available-drives.js"
4547
+ ]
4548
+ },
4527
4549
  "tag:list": {
4528
4550
  "aliases": [],
4529
4551
  "args": {},
@@ -4744,28 +4766,6 @@
4744
4766
  "set.js"
4745
4767
  ]
4746
4768
  },
4747
- "util:available-drives": {
4748
- "aliases": [],
4749
- "args": {},
4750
- "description": "List available drives.\n\nList available drives which are usable for writing an OS image to.\nDoes not list system drives.",
4751
- "flags": {},
4752
- "hasDynamicHelp": false,
4753
- "hiddenAliases": [],
4754
- "id": "util:available-drives",
4755
- "pluginAlias": "balena-cli",
4756
- "pluginName": "balena-cli",
4757
- "pluginType": "core",
4758
- "strict": true,
4759
- "enableJsonFlag": false,
4760
- "offlineCompatible": true,
4761
- "isESM": false,
4762
- "relativePath": [
4763
- "build",
4764
- "commands",
4765
- "util",
4766
- "available-drives.js"
4767
- ]
4768
- },
4769
4769
  "whoami": {
4770
4770
  "aliases": [],
4771
4771
  "args": {},
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "balena-cli",
3
- "version": "23.0.0-build-v23-7caab12ed41a7da6acf9ba4521ce7f380d0fef88-1",
3
+ "version": "23.0.0-build-v23-5b5d201bc754465e65747ccb63a7f732a0da02af-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-09-04T18:21:49.851Z"
265
+ "publishedAt": "2025-09-04T19:07:10.243Z"
266
266
  }
267
267
  }