balena-cli 23.0.0-build-v23-39d0a8e03dbec4cb3eb8c6dacdfb679ab6ab874a-1 → 23.0.0-build-v23-d7071459b5f01a93198e0ef44e16fd8e3d3cb869-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,6 +6,7 @@ This project adheres to [Semantic Versioning](http://semver.org/).
6
6
 
7
7
  ## 23.0.0 - 2025-09-10
8
8
 
9
+ * config generate: Drop the deprecated no-op '--generate-device-api-key' flag [Thodoris Greasidis]
9
10
  * Deduplicate dependencies [Matthew Yarmolinsky]
10
11
  * os configure: Use oclif relations to enforce --device-type dependency on --fleet [Thodoris Greasidis]
11
12
  * os configure: Add tests for how flags are allowed to be conbined [Thodoris Greasidis]
@@ -82,7 +82,6 @@ export default class ConfigGenerateCmd extends Command {
82
82
  };
83
83
  deviceApiKey: Interfaces.OptionFlag<string | undefined, Interfaces.CustomOptions>;
84
84
  deviceType: Interfaces.OptionFlag<string | undefined, Interfaces.CustomOptions>;
85
- 'generate-device-api-key': Interfaces.BooleanFlag<boolean>;
86
85
  output: Interfaces.OptionFlag<string | undefined, Interfaces.CustomOptions>;
87
86
  network: Interfaces.OptionFlag<string | undefined, Interfaces.CustomOptions>;
88
87
  wifiSsid: Interfaces.OptionFlag<string | undefined, Interfaces.CustomOptions>;
@@ -158,9 +158,6 @@ ConfigGenerateCmd.flags = {
158
158
  deviceType: core_1.Flags.string({
159
159
  description: "device type slug (run 'balena device-type list' for possible values)",
160
160
  }),
161
- 'generate-device-api-key': core_1.Flags.boolean({
162
- description: 'generate a fresh device key for the device. No-op and deprecated since a key is always auto-generated unless --deviceApiKey is provided.',
163
- }),
164
161
  output: core_1.Flags.string({
165
162
  description: 'path of output file',
166
163
  char: 'o',
@@ -1 +1 @@
1
- {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/commands/config/generate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/commands/config/generate.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "balena-cli",
3
- "version": "23.0.0-build-v23-39d0a8e03dbec4cb3eb8c6dacdfb679ab6ab874a-1",
3
+ "version": "23.0.0-build-v23-d7071459b5f01a93198e0ef44e16fd8e3d3cb869-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-39d0a8e03dbec4cb3eb8c6dacdfb679ab6ab874a-1",
9
+ "version": "23.0.0-build-v23-d7071459b5f01a93198e0ef44e16fd8e3d3cb869-1",
10
10
  "hasInstallScript": true,
11
11
  "license": "Apache-2.0",
12
12
  "dependencies": {
@@ -486,12 +486,6 @@
486
486
  "multiple": false,
487
487
  "type": "option"
488
488
  },
489
- "generate-device-api-key": {
490
- "description": "generate a fresh device key for the device. No-op and deprecated since a key is always auto-generated unless --deviceApiKey is provided.",
491
- "name": "generate-device-api-key",
492
- "allowNo": false,
493
- "type": "boolean"
494
- },
495
489
  "output": {
496
490
  "char": "o",
497
491
  "description": "path of output file",
@@ -2556,6 +2550,43 @@
2556
2550
  "set.js"
2557
2551
  ]
2558
2552
  },
2553
+ "internal:osinit": {
2554
+ "aliases": [],
2555
+ "args": {
2556
+ "image": {
2557
+ "name": "image",
2558
+ "required": true
2559
+ },
2560
+ "type": {
2561
+ "name": "type",
2562
+ "required": true
2563
+ },
2564
+ "config": {
2565
+ "name": "config",
2566
+ "required": true
2567
+ }
2568
+ },
2569
+ "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.",
2570
+ "flags": {},
2571
+ "hasDynamicHelp": false,
2572
+ "hidden": true,
2573
+ "hiddenAliases": [],
2574
+ "id": "internal:osinit",
2575
+ "pluginAlias": "balena-cli",
2576
+ "pluginName": "balena-cli",
2577
+ "pluginType": "core",
2578
+ "strict": true,
2579
+ "enableJsonFlag": false,
2580
+ "root": true,
2581
+ "offlineCompatible": true,
2582
+ "isESM": false,
2583
+ "relativePath": [
2584
+ "build",
2585
+ "commands",
2586
+ "internal",
2587
+ "osinit.js"
2588
+ ]
2589
+ },
2559
2590
  "fleet:create": {
2560
2591
  "aliases": [],
2561
2592
  "args": {
@@ -2898,43 +2929,6 @@
2898
2929
  "track-latest.js"
2899
2930
  ]
2900
2931
  },
2901
- "internal:osinit": {
2902
- "aliases": [],
2903
- "args": {
2904
- "image": {
2905
- "name": "image",
2906
- "required": true
2907
- },
2908
- "type": {
2909
- "name": "type",
2910
- "required": true
2911
- },
2912
- "config": {
2913
- "name": "config",
2914
- "required": true
2915
- }
2916
- },
2917
- "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.",
2918
- "flags": {},
2919
- "hasDynamicHelp": false,
2920
- "hidden": true,
2921
- "hiddenAliases": [],
2922
- "id": "internal:osinit",
2923
- "pluginAlias": "balena-cli",
2924
- "pluginName": "balena-cli",
2925
- "pluginType": "core",
2926
- "strict": true,
2927
- "enableJsonFlag": false,
2928
- "root": true,
2929
- "offlineCompatible": true,
2930
- "isESM": false,
2931
- "relativePath": [
2932
- "build",
2933
- "commands",
2934
- "internal",
2935
- "osinit.js"
2936
- ]
2937
- },
2938
2932
  "join": {
2939
2933
  "aliases": [],
2940
2934
  "args": {
@@ -3021,88 +3015,6 @@
3021
3015
  "index.js"
3022
3016
  ]
3023
3017
  },
3024
- "local:configure": {
3025
- "aliases": [],
3026
- "args": {
3027
- "target": {
3028
- "description": "path of drive or image to configure",
3029
- "name": "target",
3030
- "required": true
3031
- }
3032
- },
3033
- "description": "(Re)configure a balenaOS drive or image.\n\nConfigure or reconfigure a balenaOS drive or image.",
3034
- "examples": [
3035
- "$ balena local configure /dev/sdc",
3036
- "$ balena local configure path/to/image.img"
3037
- ],
3038
- "flags": {},
3039
- "hasDynamicHelp": false,
3040
- "hiddenAliases": [],
3041
- "id": "local:configure",
3042
- "pluginAlias": "balena-cli",
3043
- "pluginName": "balena-cli",
3044
- "pluginType": "core",
3045
- "strict": true,
3046
- "enableJsonFlag": false,
3047
- "root": true,
3048
- "offlineCompatible": true,
3049
- "isESM": false,
3050
- "relativePath": [
3051
- "build",
3052
- "commands",
3053
- "local",
3054
- "configure.js"
3055
- ]
3056
- },
3057
- "local:flash": {
3058
- "aliases": [],
3059
- "args": {
3060
- "image": {
3061
- "description": "path to OS image",
3062
- "name": "image",
3063
- "required": true
3064
- }
3065
- },
3066
- "description": "Flash an image to a drive.\n\nFlash a balenaOS image to a drive.\nImage file may be one of: .img|.zip|.gz|.bz2|.xz\n\nIf --drive is not specified, then it will interactively\nshow a list of available drives for selection.",
3067
- "examples": [
3068
- "$ balena local flash path/to/balenaos.img",
3069
- "$ balena local flash path/to/balenaos.img --drive /dev/disk2",
3070
- "$ balena local flash path/to/balenaos.img --drive /dev/disk2 --yes"
3071
- ],
3072
- "flags": {
3073
- "drive": {
3074
- "char": "d",
3075
- "description": "the drive to write the image to, eg. `/dev/sdb` or `/dev/mmcblk0`.\nCareful with this as you can erase your hard drive.\nCheck `balena util available-drives` for available options.",
3076
- "name": "drive",
3077
- "hasDynamicHelp": false,
3078
- "multiple": false,
3079
- "type": "option"
3080
- },
3081
- "yes": {
3082
- "char": "y",
3083
- "description": "answer \"yes\" to all questions (non interactive use)",
3084
- "name": "yes",
3085
- "allowNo": false,
3086
- "type": "boolean"
3087
- }
3088
- },
3089
- "hasDynamicHelp": false,
3090
- "hiddenAliases": [],
3091
- "id": "local:flash",
3092
- "pluginAlias": "balena-cli",
3093
- "pluginName": "balena-cli",
3094
- "pluginType": "core",
3095
- "strict": true,
3096
- "enableJsonFlag": false,
3097
- "offlineCompatible": true,
3098
- "isESM": false,
3099
- "relativePath": [
3100
- "build",
3101
- "commands",
3102
- "local",
3103
- "flash.js"
3104
- ]
3105
- },
3106
3018
  "login": {
3107
3019
  "aliases": [],
3108
3020
  "args": {
@@ -3252,6 +3164,88 @@
3252
3164
  "index.js"
3253
3165
  ]
3254
3166
  },
3167
+ "local:configure": {
3168
+ "aliases": [],
3169
+ "args": {
3170
+ "target": {
3171
+ "description": "path of drive or image to configure",
3172
+ "name": "target",
3173
+ "required": true
3174
+ }
3175
+ },
3176
+ "description": "(Re)configure a balenaOS drive or image.\n\nConfigure or reconfigure a balenaOS drive or image.",
3177
+ "examples": [
3178
+ "$ balena local configure /dev/sdc",
3179
+ "$ balena local configure path/to/image.img"
3180
+ ],
3181
+ "flags": {},
3182
+ "hasDynamicHelp": false,
3183
+ "hiddenAliases": [],
3184
+ "id": "local:configure",
3185
+ "pluginAlias": "balena-cli",
3186
+ "pluginName": "balena-cli",
3187
+ "pluginType": "core",
3188
+ "strict": true,
3189
+ "enableJsonFlag": false,
3190
+ "root": true,
3191
+ "offlineCompatible": true,
3192
+ "isESM": false,
3193
+ "relativePath": [
3194
+ "build",
3195
+ "commands",
3196
+ "local",
3197
+ "configure.js"
3198
+ ]
3199
+ },
3200
+ "local:flash": {
3201
+ "aliases": [],
3202
+ "args": {
3203
+ "image": {
3204
+ "description": "path to OS image",
3205
+ "name": "image",
3206
+ "required": true
3207
+ }
3208
+ },
3209
+ "description": "Flash an image to a drive.\n\nFlash a balenaOS image to a drive.\nImage file may be one of: .img|.zip|.gz|.bz2|.xz\n\nIf --drive is not specified, then it will interactively\nshow a list of available drives for selection.",
3210
+ "examples": [
3211
+ "$ balena local flash path/to/balenaos.img",
3212
+ "$ balena local flash path/to/balenaos.img --drive /dev/disk2",
3213
+ "$ balena local flash path/to/balenaos.img --drive /dev/disk2 --yes"
3214
+ ],
3215
+ "flags": {
3216
+ "drive": {
3217
+ "char": "d",
3218
+ "description": "the drive to write the image to, eg. `/dev/sdb` or `/dev/mmcblk0`.\nCareful with this as you can erase your hard drive.\nCheck `balena util available-drives` for available options.",
3219
+ "name": "drive",
3220
+ "hasDynamicHelp": false,
3221
+ "multiple": false,
3222
+ "type": "option"
3223
+ },
3224
+ "yes": {
3225
+ "char": "y",
3226
+ "description": "answer \"yes\" to all questions (non interactive use)",
3227
+ "name": "yes",
3228
+ "allowNo": false,
3229
+ "type": "boolean"
3230
+ }
3231
+ },
3232
+ "hasDynamicHelp": false,
3233
+ "hiddenAliases": [],
3234
+ "id": "local:flash",
3235
+ "pluginAlias": "balena-cli",
3236
+ "pluginName": "balena-cli",
3237
+ "pluginType": "core",
3238
+ "strict": true,
3239
+ "enableJsonFlag": false,
3240
+ "offlineCompatible": true,
3241
+ "isESM": false,
3242
+ "relativePath": [
3243
+ "build",
3244
+ "commands",
3245
+ "local",
3246
+ "flash.js"
3247
+ ]
3248
+ },
3255
3249
  "organization:list": {
3256
3250
  "aliases": [],
3257
3251
  "args": {},
@@ -3277,151 +3271,21 @@
3277
3271
  "list.js"
3278
3272
  ]
3279
3273
  },
3280
- "preload": {
3274
+ "os:configure": {
3281
3275
  "aliases": [],
3282
3276
  "args": {
3283
3277
  "image": {
3284
- "description": "the image file path",
3278
+ "description": "path to a balenaOS image file, e.g. \"rpi3.img\"",
3285
3279
  "name": "image",
3286
3280
  "required": true
3287
3281
  }
3288
3282
  },
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.",
3283
+ "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).",
3290
3284
  "examples": [
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"
3294
- ],
3295
- "flags": {
3296
- "fleet": {
3297
- "char": "f",
3298
- "description": "fleet name or slug (preferred)",
3299
- "name": "fleet",
3300
- "hasDynamicHelp": false,
3301
- "multiple": false,
3302
- "type": "option"
3303
- },
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",
3308
- "hasDynamicHelp": false,
3309
- "multiple": false,
3310
- "type": "option"
3311
- },
3312
- "splash-image": {
3313
- "char": "s",
3314
- "description": "path to a png image to replace the splash screen",
3315
- "name": "splash-image",
3316
- "hasDynamicHelp": false,
3317
- "multiple": false,
3318
- "type": "option"
3319
- },
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",
3336
- "hasDynamicHelp": false,
3337
- "multiple": false,
3338
- "type": "option"
3339
- },
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"
3285
+ "$ balena os configure ../path/rpi3.img --device 7cf02a6",
3286
+ "$ balena os configure ../path/rpi3.img --fleet myorg/myfleet",
3287
+ "$ balena os configure ../path/rpi3.img -f myorg/myfleet --device-type raspberrypi3",
3288
+ "$ balena os configure ../path/rpi3.img --config myWifiConfig.json"
3425
3289
  ],
3426
3290
  "flags": {
3427
3291
  "fleet": {
@@ -3746,6 +3610,136 @@
3746
3610
  "versions.js"
3747
3611
  ]
3748
3612
  },
3613
+ "preload": {
3614
+ "aliases": [],
3615
+ "args": {
3616
+ "image": {
3617
+ "description": "the image file path",
3618
+ "name": "image",
3619
+ "required": true
3620
+ }
3621
+ },
3622
+ "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.",
3623
+ "examples": [
3624
+ "$ balena preload balena.img --fleet MyFleet --commit e1f2592fc6ee949e68756d4f4a48e49bff8d72a0",
3625
+ "$ balena preload balena.img --fleet myorg/myfleet --splash-image image.png",
3626
+ "$ balena preload balena.img"
3627
+ ],
3628
+ "flags": {
3629
+ "fleet": {
3630
+ "char": "f",
3631
+ "description": "fleet name or slug (preferred)",
3632
+ "name": "fleet",
3633
+ "hasDynamicHelp": false,
3634
+ "multiple": false,
3635
+ "type": "option"
3636
+ },
3637
+ "commit": {
3638
+ "char": "c",
3639
+ "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",
3640
+ "name": "commit",
3641
+ "hasDynamicHelp": false,
3642
+ "multiple": false,
3643
+ "type": "option"
3644
+ },
3645
+ "splash-image": {
3646
+ "char": "s",
3647
+ "description": "path to a png image to replace the splash screen",
3648
+ "name": "splash-image",
3649
+ "hasDynamicHelp": false,
3650
+ "multiple": false,
3651
+ "type": "option"
3652
+ },
3653
+ "dont-check-arch": {
3654
+ "description": "disable architecture compatibility check between image and fleet",
3655
+ "name": "dont-check-arch",
3656
+ "allowNo": false,
3657
+ "type": "boolean"
3658
+ },
3659
+ "pin-device-to-release": {
3660
+ "char": "p",
3661
+ "description": "pin the preloaded device to the preloaded release on provision",
3662
+ "name": "pin-device-to-release",
3663
+ "allowNo": true,
3664
+ "type": "boolean"
3665
+ },
3666
+ "additional-space": {
3667
+ "description": "expand the image by this amount of bytes instead of automatically estimating the required amount",
3668
+ "name": "additional-space",
3669
+ "hasDynamicHelp": false,
3670
+ "multiple": false,
3671
+ "type": "option"
3672
+ },
3673
+ "add-certificate": {
3674
+ "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.",
3675
+ "name": "add-certificate",
3676
+ "hasDynamicHelp": false,
3677
+ "multiple": true,
3678
+ "type": "option"
3679
+ },
3680
+ "docker": {
3681
+ "char": "P",
3682
+ "description": "Path to a local docker socket (e.g. /var/run/docker.sock)",
3683
+ "name": "docker",
3684
+ "hasDynamicHelp": false,
3685
+ "multiple": false,
3686
+ "type": "option"
3687
+ },
3688
+ "dockerHost": {
3689
+ "char": "h",
3690
+ "description": "Docker daemon hostname or IP address (dev machine or balena device) ",
3691
+ "name": "dockerHost",
3692
+ "hasDynamicHelp": false,
3693
+ "multiple": false,
3694
+ "type": "option"
3695
+ },
3696
+ "dockerPort": {
3697
+ "description": "Docker daemon TCP port number (hint: 2375 for balena devices)",
3698
+ "name": "dockerPort",
3699
+ "hasDynamicHelp": false,
3700
+ "multiple": false,
3701
+ "type": "option"
3702
+ },
3703
+ "ca": {
3704
+ "description": "Docker host TLS certificate authority file",
3705
+ "name": "ca",
3706
+ "hasDynamicHelp": false,
3707
+ "multiple": false,
3708
+ "type": "option"
3709
+ },
3710
+ "cert": {
3711
+ "description": "Docker host TLS certificate file",
3712
+ "name": "cert",
3713
+ "hasDynamicHelp": false,
3714
+ "multiple": false,
3715
+ "type": "option"
3716
+ },
3717
+ "key": {
3718
+ "description": "Docker host TLS key file",
3719
+ "name": "key",
3720
+ "hasDynamicHelp": false,
3721
+ "multiple": false,
3722
+ "type": "option"
3723
+ }
3724
+ },
3725
+ "hasDynamicHelp": false,
3726
+ "hiddenAliases": [],
3727
+ "id": "preload",
3728
+ "pluginAlias": "balena-cli",
3729
+ "pluginName": "balena-cli",
3730
+ "pluginType": "core",
3731
+ "strict": true,
3732
+ "enableJsonFlag": false,
3733
+ "authenticated": true,
3734
+ "primary": true,
3735
+ "isESM": false,
3736
+ "relativePath": [
3737
+ "build",
3738
+ "commands",
3739
+ "preload",
3740
+ "index.js"
3741
+ ]
3742
+ },
3749
3743
  "push": {
3750
3744
  "aliases": [],
3751
3745
  "args": {
@@ -4093,30 +4087,6 @@
4093
4087
  "validate.js"
4094
4088
  ]
4095
4089
  },
4096
- "settings": {
4097
- "aliases": [],
4098
- "args": {},
4099
- "description": "Print current settings.\n\nUse this command to display the current balena CLI settings.",
4100
- "examples": [
4101
- "$ balena settings"
4102
- ],
4103
- "flags": {},
4104
- "hasDynamicHelp": false,
4105
- "hiddenAliases": [],
4106
- "id": "settings",
4107
- "pluginAlias": "balena-cli",
4108
- "pluginName": "balena-cli",
4109
- "pluginType": "core",
4110
- "strict": true,
4111
- "enableJsonFlag": false,
4112
- "isESM": false,
4113
- "relativePath": [
4114
- "build",
4115
- "commands",
4116
- "settings",
4117
- "index.js"
4118
- ]
4119
- },
4120
4090
  "release-asset:delete": {
4121
4091
  "aliases": [],
4122
4092
  "args": {
@@ -4332,6 +4302,30 @@
4332
4302
  "upload.js"
4333
4303
  ]
4334
4304
  },
4305
+ "settings": {
4306
+ "aliases": [],
4307
+ "args": {},
4308
+ "description": "Print current settings.\n\nUse this command to display the current balena CLI settings.",
4309
+ "examples": [
4310
+ "$ balena settings"
4311
+ ],
4312
+ "flags": {},
4313
+ "hasDynamicHelp": false,
4314
+ "hiddenAliases": [],
4315
+ "id": "settings",
4316
+ "pluginAlias": "balena-cli",
4317
+ "pluginName": "balena-cli",
4318
+ "pluginType": "core",
4319
+ "strict": true,
4320
+ "enableJsonFlag": false,
4321
+ "isESM": false,
4322
+ "relativePath": [
4323
+ "build",
4324
+ "commands",
4325
+ "settings",
4326
+ "index.js"
4327
+ ]
4328
+ },
4335
4329
  "ssh-key:add": {
4336
4330
  "aliases": [],
4337
4331
  "args": {
@@ -4748,51 +4742,51 @@
4748
4742
  "set.js"
4749
4743
  ]
4750
4744
  },
4751
- "whoami": {
4745
+ "util:available-drives": {
4752
4746
  "aliases": [],
4753
4747
  "args": {},
4754
- "description": "Display account information for current user.\n\nGet the username and email address of the currently logged in user.",
4755
- "examples": [
4756
- "$ balena whoami"
4757
- ],
4748
+ "description": "List available drives.\n\nList available drives which are usable for writing an OS image to.\nDoes not list system drives.",
4758
4749
  "flags": {},
4759
4750
  "hasDynamicHelp": false,
4760
4751
  "hiddenAliases": [],
4761
- "id": "whoami",
4752
+ "id": "util:available-drives",
4762
4753
  "pluginAlias": "balena-cli",
4763
4754
  "pluginName": "balena-cli",
4764
4755
  "pluginType": "core",
4765
4756
  "strict": true,
4766
4757
  "enableJsonFlag": false,
4767
- "authenticated": true,
4758
+ "offlineCompatible": true,
4768
4759
  "isESM": false,
4769
4760
  "relativePath": [
4770
4761
  "build",
4771
4762
  "commands",
4772
- "whoami",
4773
- "index.js"
4763
+ "util",
4764
+ "available-drives.js"
4774
4765
  ]
4775
4766
  },
4776
- "util:available-drives": {
4767
+ "whoami": {
4777
4768
  "aliases": [],
4778
4769
  "args": {},
4779
- "description": "List available drives.\n\nList available drives which are usable for writing an OS image to.\nDoes not list system drives.",
4770
+ "description": "Display account information for current user.\n\nGet the username and email address of the currently logged in user.",
4771
+ "examples": [
4772
+ "$ balena whoami"
4773
+ ],
4780
4774
  "flags": {},
4781
4775
  "hasDynamicHelp": false,
4782
4776
  "hiddenAliases": [],
4783
- "id": "util:available-drives",
4777
+ "id": "whoami",
4784
4778
  "pluginAlias": "balena-cli",
4785
4779
  "pluginName": "balena-cli",
4786
4780
  "pluginType": "core",
4787
4781
  "strict": true,
4788
4782
  "enableJsonFlag": false,
4789
- "offlineCompatible": true,
4783
+ "authenticated": true,
4790
4784
  "isESM": false,
4791
4785
  "relativePath": [
4792
4786
  "build",
4793
4787
  "commands",
4794
- "util",
4795
- "available-drives.js"
4788
+ "whoami",
4789
+ "index.js"
4796
4790
  ]
4797
4791
  }
4798
4792
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "balena-cli",
3
- "version": "23.0.0-build-v23-39d0a8e03dbec4cb3eb8c6dacdfb679ab6ab874a-1",
3
+ "version": "23.0.0-build-v23-d7071459b5f01a93198e0ef44e16fd8e3d3cb869-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",
@@ -261,6 +261,6 @@
261
261
  "balena-request": "14.0.6"
262
262
  },
263
263
  "versionist": {
264
- "publishedAt": "2025-09-10T20:37:33.999Z"
264
+ "publishedAt": "2025-09-10T21:38:38.712Z"
265
265
  }
266
266
  }
@@ -90,11 +90,6 @@ export default class ConfigGenerateCmd extends Command {
90
90
  description:
91
91
  "device type slug (run 'balena device-type list' for possible values)",
92
92
  }),
93
- // TODO: Drop in next major, since atm it is always defaulted to true interally
94
- 'generate-device-api-key': Flags.boolean({
95
- description:
96
- 'generate a fresh device key for the device. No-op and deprecated since a key is always auto-generated unless --deviceApiKey is provided.',
97
- }),
98
93
  output: Flags.string({
99
94
  description: 'path of output file',
100
95
  char: 'o',