balena-cli 25.2.7 → 25.2.8

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
@@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file
4
4
  automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY!
5
5
  This project adheres to [Semantic Versioning](http://semver.org/).
6
6
 
7
+ ## 25.2.8 - 2026-10-21
8
+
9
+ * Update actions/setup-node action to v7 [balena-renovate[bot]]
10
+
7
11
  ## 25.2.7 - 2026-10-21
8
12
 
9
13
  * Republish with nodejs ^24.22.1 [Thodoris Greasidis]
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "balena-cli",
3
- "version": "25.2.7",
3
+ "version": "25.2.8",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "balena-cli",
9
- "version": "25.2.7",
9
+ "version": "25.2.8",
10
10
  "hasInstallScript": true,
11
11
  "license": "Apache-2.0",
12
12
  "dependencies": {
@@ -110,106 +110,6 @@
110
110
  "revoke.js"
111
111
  ]
112
112
  },
113
- "app:create": {
114
- "aliases": [],
115
- "args": {
116
- "name": {
117
- "description": "app name",
118
- "name": "name",
119
- "required": true
120
- }
121
- },
122
- "description": "Create an app.\n\nCreate a new balena app.\n\nYou can specify the organization the app 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 app'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.",
123
- "examples": [
124
- "$ balena app create MyApp",
125
- "$ balena app create MyApp --organization mmyorg",
126
- "$ balena app create MyApp -o myorg --type raspberry-pi"
127
- ],
128
- "flags": {
129
- "organization": {
130
- "char": "o",
131
- "description": "handle of the organization the app should belong to",
132
- "name": "organization",
133
- "hasDynamicHelp": false,
134
- "multiple": false,
135
- "type": "option"
136
- },
137
- "type": {
138
- "char": "t",
139
- "description": "app device type (Check available types with `balena device-type list`)",
140
- "name": "type",
141
- "hasDynamicHelp": false,
142
- "multiple": false,
143
- "type": "option"
144
- }
145
- },
146
- "hasDynamicHelp": false,
147
- "hiddenAliases": [],
148
- "id": "app:create",
149
- "pluginAlias": "balena-cli",
150
- "pluginName": "balena-cli",
151
- "pluginType": "core",
152
- "strict": true,
153
- "enableJsonFlag": false,
154
- "authenticated": true,
155
- "isESM": false,
156
- "relativePath": [
157
- "build",
158
- "commands",
159
- "app",
160
- "create.js"
161
- ]
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
113
  "build": {
214
114
  "aliases": [],
215
115
  "args": {
@@ -412,6 +312,106 @@
412
312
  "index.js"
413
313
  ]
414
314
  },
315
+ "app:create": {
316
+ "aliases": [],
317
+ "args": {
318
+ "name": {
319
+ "description": "app name",
320
+ "name": "name",
321
+ "required": true
322
+ }
323
+ },
324
+ "description": "Create an app.\n\nCreate a new balena app.\n\nYou can specify the organization the app 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 app'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.",
325
+ "examples": [
326
+ "$ balena app create MyApp",
327
+ "$ balena app create MyApp --organization mmyorg",
328
+ "$ balena app create MyApp -o myorg --type raspberry-pi"
329
+ ],
330
+ "flags": {
331
+ "organization": {
332
+ "char": "o",
333
+ "description": "handle of the organization the app should belong to",
334
+ "name": "organization",
335
+ "hasDynamicHelp": false,
336
+ "multiple": false,
337
+ "type": "option"
338
+ },
339
+ "type": {
340
+ "char": "t",
341
+ "description": "app device type (Check available types with `balena device-type list`)",
342
+ "name": "type",
343
+ "hasDynamicHelp": false,
344
+ "multiple": false,
345
+ "type": "option"
346
+ }
347
+ },
348
+ "hasDynamicHelp": false,
349
+ "hiddenAliases": [],
350
+ "id": "app:create",
351
+ "pluginAlias": "balena-cli",
352
+ "pluginName": "balena-cli",
353
+ "pluginType": "core",
354
+ "strict": true,
355
+ "enableJsonFlag": false,
356
+ "authenticated": true,
357
+ "isESM": false,
358
+ "relativePath": [
359
+ "build",
360
+ "commands",
361
+ "app",
362
+ "create.js"
363
+ ]
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": {},
@@ -3084,6 +3084,30 @@
3084
3084
  "flash.js"
3085
3085
  ]
3086
3086
  },
3087
+ "logout": {
3088
+ "aliases": [],
3089
+ "args": {},
3090
+ "description": "Logout from balena.\n\nLogout from your balena account.",
3091
+ "examples": [
3092
+ "$ balena logout"
3093
+ ],
3094
+ "flags": {},
3095
+ "hasDynamicHelp": false,
3096
+ "hiddenAliases": [],
3097
+ "id": "logout",
3098
+ "pluginAlias": "balena-cli",
3099
+ "pluginName": "balena-cli",
3100
+ "pluginType": "core",
3101
+ "strict": true,
3102
+ "enableJsonFlag": false,
3103
+ "isESM": false,
3104
+ "relativePath": [
3105
+ "build",
3106
+ "commands",
3107
+ "logout",
3108
+ "index.js"
3109
+ ]
3110
+ },
3087
3111
  "login": {
3088
3112
  "aliases": [],
3089
3113
  "args": {
@@ -3209,30 +3233,6 @@
3209
3233
  "index.js"
3210
3234
  ]
3211
3235
  },
3212
- "logout": {
3213
- "aliases": [],
3214
- "args": {},
3215
- "description": "Logout from balena.\n\nLogout from your balena account.",
3216
- "examples": [
3217
- "$ balena logout"
3218
- ],
3219
- "flags": {},
3220
- "hasDynamicHelp": false,
3221
- "hiddenAliases": [],
3222
- "id": "logout",
3223
- "pluginAlias": "balena-cli",
3224
- "pluginName": "balena-cli",
3225
- "pluginType": "core",
3226
- "strict": true,
3227
- "enableJsonFlag": false,
3228
- "isESM": false,
3229
- "relativePath": [
3230
- "build",
3231
- "commands",
3232
- "logout",
3233
- "index.js"
3234
- ]
3235
- },
3236
3236
  "organization:create": {
3237
3237
  "aliases": [],
3238
3238
  "args": {
@@ -3365,146 +3365,16 @@
3365
3365
  "rm.js"
3366
3366
  ]
3367
3367
  },
3368
- "preload": {
3368
+ "os:configure": {
3369
3369
  "aliases": [],
3370
3370
  "args": {
3371
3371
  "image": {
3372
- "description": "the image file path",
3372
+ "description": "path to a balenaOS image file, e.g. \"rpi3.img\"",
3373
3373
  "name": "image",
3374
3374
  "required": true
3375
3375
  }
3376
3376
  },
3377
- "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.",
3378
- "examples": [
3379
- "$ balena preload balena.img --fleet MyFleet --commit e1f2592fc6ee949e68756d4f4a48e49bff8d72a0",
3380
- "$ balena preload balena.img --fleet myorg/myfleet --splash-image image.png",
3381
- "$ balena preload balena.img"
3382
- ],
3383
- "flags": {
3384
- "fleet": {
3385
- "char": "f",
3386
- "description": "fleet name or slug (preferred)",
3387
- "name": "fleet",
3388
- "hasDynamicHelp": false,
3389
- "multiple": false,
3390
- "type": "option"
3391
- },
3392
- "commit": {
3393
- "char": "c",
3394
- "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",
3395
- "name": "commit",
3396
- "hasDynamicHelp": false,
3397
- "multiple": false,
3398
- "type": "option"
3399
- },
3400
- "splash-image": {
3401
- "char": "s",
3402
- "description": "path to a png image to replace the splash screen",
3403
- "name": "splash-image",
3404
- "hasDynamicHelp": false,
3405
- "multiple": false,
3406
- "type": "option"
3407
- },
3408
- "dont-check-arch": {
3409
- "description": "disable architecture compatibility check between image and fleet",
3410
- "name": "dont-check-arch",
3411
- "allowNo": false,
3412
- "type": "boolean"
3413
- },
3414
- "pin-device-to-release": {
3415
- "char": "p",
3416
- "description": "pin the preloaded device to the preloaded release on provision",
3417
- "name": "pin-device-to-release",
3418
- "allowNo": true,
3419
- "type": "boolean"
3420
- },
3421
- "additional-space": {
3422
- "description": "expand the image by this amount of bytes instead of automatically estimating the required amount",
3423
- "name": "additional-space",
3424
- "hasDynamicHelp": false,
3425
- "multiple": false,
3426
- "type": "option"
3427
- },
3428
- "add-certificate": {
3429
- "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.",
3430
- "name": "add-certificate",
3431
- "hasDynamicHelp": false,
3432
- "multiple": true,
3433
- "type": "option"
3434
- },
3435
- "docker": {
3436
- "char": "P",
3437
- "description": "Path to a local docker socket (e.g. /var/run/docker.sock)",
3438
- "name": "docker",
3439
- "hasDynamicHelp": false,
3440
- "multiple": false,
3441
- "type": "option"
3442
- },
3443
- "dockerHost": {
3444
- "char": "h",
3445
- "description": "Docker daemon hostname or IP address (dev machine or balena device) ",
3446
- "name": "dockerHost",
3447
- "hasDynamicHelp": false,
3448
- "multiple": false,
3449
- "type": "option"
3450
- },
3451
- "dockerPort": {
3452
- "description": "Docker daemon TCP port number (hint: 2375 for balena devices)",
3453
- "name": "dockerPort",
3454
- "hasDynamicHelp": false,
3455
- "multiple": false,
3456
- "type": "option"
3457
- },
3458
- "ca": {
3459
- "description": "Docker host TLS certificate authority file",
3460
- "name": "ca",
3461
- "hasDynamicHelp": false,
3462
- "multiple": false,
3463
- "type": "option"
3464
- },
3465
- "cert": {
3466
- "description": "Docker host TLS certificate file",
3467
- "name": "cert",
3468
- "hasDynamicHelp": false,
3469
- "multiple": false,
3470
- "type": "option"
3471
- },
3472
- "key": {
3473
- "description": "Docker host TLS key file",
3474
- "name": "key",
3475
- "hasDynamicHelp": false,
3476
- "multiple": false,
3477
- "type": "option"
3478
- }
3479
- },
3480
- "hasDynamicHelp": false,
3481
- "hiddenAliases": [],
3482
- "id": "preload",
3483
- "pluginAlias": "balena-cli",
3484
- "pluginName": "balena-cli",
3485
- "pluginType": "core",
3486
- "strict": true,
3487
- "enableJsonFlag": false,
3488
- "authenticated": true,
3489
- "primary": true,
3490
- "isESM": false,
3491
- "relativePath": [
3492
- "build",
3493
- "commands",
3494
- "preload",
3495
- "index.js"
3496
- ]
3497
- },
3498
- "os:configure": {
3499
- "aliases": [],
3500
- "args": {
3501
- "image": {
3502
- "description": "path to a balenaOS image file, e.g. \"rpi3.img\"",
3503
- "name": "image",
3504
- "required": true
3505
- }
3506
- },
3507
- "description": "Configure a previously downloaded balenaOS image.\n\nConfigure a previously downloaded balenaOS image for a specific device type\nor fleet. This command overwrites the image's `config.json` with a new\none generated from the options provided to the command, or with the file\npassed via the `--config` option.\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).",
3377
+ "description": "Configure a previously downloaded balenaOS image.\n\nConfigure a previously downloaded balenaOS image for a specific device type\nor fleet. This command overwrites the image's `config.json` with a new\none generated from the options provided to the command, or with the file\npassed via the `--config` option.\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).",
3508
3378
  "examples": [
3509
3379
  "$ balena os configure ../path/rpi3.img --device 7cf02a6",
3510
3380
  "$ balena os configure ../path/rpi3.img --fleet myorg/myfleet",
@@ -3845,6 +3715,136 @@
3845
3715
  "versions.js"
3846
3716
  ]
3847
3717
  },
3718
+ "preload": {
3719
+ "aliases": [],
3720
+ "args": {
3721
+ "image": {
3722
+ "description": "the image file path",
3723
+ "name": "image",
3724
+ "required": true
3725
+ }
3726
+ },
3727
+ "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.",
3728
+ "examples": [
3729
+ "$ balena preload balena.img --fleet MyFleet --commit e1f2592fc6ee949e68756d4f4a48e49bff8d72a0",
3730
+ "$ balena preload balena.img --fleet myorg/myfleet --splash-image image.png",
3731
+ "$ balena preload balena.img"
3732
+ ],
3733
+ "flags": {
3734
+ "fleet": {
3735
+ "char": "f",
3736
+ "description": "fleet name or slug (preferred)",
3737
+ "name": "fleet",
3738
+ "hasDynamicHelp": false,
3739
+ "multiple": false,
3740
+ "type": "option"
3741
+ },
3742
+ "commit": {
3743
+ "char": "c",
3744
+ "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",
3745
+ "name": "commit",
3746
+ "hasDynamicHelp": false,
3747
+ "multiple": false,
3748
+ "type": "option"
3749
+ },
3750
+ "splash-image": {
3751
+ "char": "s",
3752
+ "description": "path to a png image to replace the splash screen",
3753
+ "name": "splash-image",
3754
+ "hasDynamicHelp": false,
3755
+ "multiple": false,
3756
+ "type": "option"
3757
+ },
3758
+ "dont-check-arch": {
3759
+ "description": "disable architecture compatibility check between image and fleet",
3760
+ "name": "dont-check-arch",
3761
+ "allowNo": false,
3762
+ "type": "boolean"
3763
+ },
3764
+ "pin-device-to-release": {
3765
+ "char": "p",
3766
+ "description": "pin the preloaded device to the preloaded release on provision",
3767
+ "name": "pin-device-to-release",
3768
+ "allowNo": true,
3769
+ "type": "boolean"
3770
+ },
3771
+ "additional-space": {
3772
+ "description": "expand the image by this amount of bytes instead of automatically estimating the required amount",
3773
+ "name": "additional-space",
3774
+ "hasDynamicHelp": false,
3775
+ "multiple": false,
3776
+ "type": "option"
3777
+ },
3778
+ "add-certificate": {
3779
+ "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.",
3780
+ "name": "add-certificate",
3781
+ "hasDynamicHelp": false,
3782
+ "multiple": true,
3783
+ "type": "option"
3784
+ },
3785
+ "docker": {
3786
+ "char": "P",
3787
+ "description": "Path to a local docker socket (e.g. /var/run/docker.sock)",
3788
+ "name": "docker",
3789
+ "hasDynamicHelp": false,
3790
+ "multiple": false,
3791
+ "type": "option"
3792
+ },
3793
+ "dockerHost": {
3794
+ "char": "h",
3795
+ "description": "Docker daemon hostname or IP address (dev machine or balena device) ",
3796
+ "name": "dockerHost",
3797
+ "hasDynamicHelp": false,
3798
+ "multiple": false,
3799
+ "type": "option"
3800
+ },
3801
+ "dockerPort": {
3802
+ "description": "Docker daemon TCP port number (hint: 2375 for balena devices)",
3803
+ "name": "dockerPort",
3804
+ "hasDynamicHelp": false,
3805
+ "multiple": false,
3806
+ "type": "option"
3807
+ },
3808
+ "ca": {
3809
+ "description": "Docker host TLS certificate authority file",
3810
+ "name": "ca",
3811
+ "hasDynamicHelp": false,
3812
+ "multiple": false,
3813
+ "type": "option"
3814
+ },
3815
+ "cert": {
3816
+ "description": "Docker host TLS certificate file",
3817
+ "name": "cert",
3818
+ "hasDynamicHelp": false,
3819
+ "multiple": false,
3820
+ "type": "option"
3821
+ },
3822
+ "key": {
3823
+ "description": "Docker host TLS key file",
3824
+ "name": "key",
3825
+ "hasDynamicHelp": false,
3826
+ "multiple": false,
3827
+ "type": "option"
3828
+ }
3829
+ },
3830
+ "hasDynamicHelp": false,
3831
+ "hiddenAliases": [],
3832
+ "id": "preload",
3833
+ "pluginAlias": "balena-cli",
3834
+ "pluginName": "balena-cli",
3835
+ "pluginType": "core",
3836
+ "strict": true,
3837
+ "enableJsonFlag": false,
3838
+ "authenticated": true,
3839
+ "primary": true,
3840
+ "isESM": false,
3841
+ "relativePath": [
3842
+ "build",
3843
+ "commands",
3844
+ "preload",
3845
+ "index.js"
3846
+ ]
3847
+ },
3848
3848
  "push": {
3849
3849
  "aliases": [],
3850
3850
  "args": {
@@ -4192,6 +4192,30 @@
4192
4192
  "validate.js"
4193
4193
  ]
4194
4194
  },
4195
+ "settings": {
4196
+ "aliases": [],
4197
+ "args": {},
4198
+ "description": "Print current settings.\n\nUse this command to display the current balena CLI settings.",
4199
+ "examples": [
4200
+ "$ balena settings"
4201
+ ],
4202
+ "flags": {},
4203
+ "hasDynamicHelp": false,
4204
+ "hiddenAliases": [],
4205
+ "id": "settings",
4206
+ "pluginAlias": "balena-cli",
4207
+ "pluginName": "balena-cli",
4208
+ "pluginType": "core",
4209
+ "strict": true,
4210
+ "enableJsonFlag": false,
4211
+ "isESM": false,
4212
+ "relativePath": [
4213
+ "build",
4214
+ "commands",
4215
+ "settings",
4216
+ "index.js"
4217
+ ]
4218
+ },
4195
4219
  "release-asset:delete": {
4196
4220
  "aliases": [],
4197
4221
  "args": {
@@ -4407,30 +4431,6 @@
4407
4431
  "upload.js"
4408
4432
  ]
4409
4433
  },
4410
- "settings": {
4411
- "aliases": [],
4412
- "args": {},
4413
- "description": "Print current settings.\n\nUse this command to display the current balena CLI settings.",
4414
- "examples": [
4415
- "$ balena settings"
4416
- ],
4417
- "flags": {},
4418
- "hasDynamicHelp": false,
4419
- "hiddenAliases": [],
4420
- "id": "settings",
4421
- "pluginAlias": "balena-cli",
4422
- "pluginName": "balena-cli",
4423
- "pluginType": "core",
4424
- "strict": true,
4425
- "enableJsonFlag": false,
4426
- "isESM": false,
4427
- "relativePath": [
4428
- "build",
4429
- "commands",
4430
- "settings",
4431
- "index.js"
4432
- ]
4433
- },
4434
4434
  "ssh-key:add": {
4435
4435
  "aliases": [],
4436
4436
  "args": {
@@ -4895,5 +4895,5 @@
4895
4895
  ]
4896
4896
  }
4897
4897
  },
4898
- "version": "25.2.7"
4898
+ "version": "25.2.8"
4899
4899
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "balena-cli",
3
- "version": "25.2.7",
3
+ "version": "25.2.8",
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",
@@ -258,6 +258,6 @@
258
258
  }
259
259
  },
260
260
  "versionist": {
261
- "publishedAt": "2026-10-21T14:44:15.996Z"
261
+ "publishedAt": "2026-10-21T17:56:00.460Z"
262
262
  }
263
263
  }