balena-cli 23.2.5-build-update-docker-progress-5-4-0-224a174b777b629fd139c0cd1128c1df40553fb5-1 → 23.2.5-build-os-configure-flasher-b7a7baa53519fec52b36c41d9edb9006e27e5a89-3

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
@@ -8,67 +8,15 @@ This project adheres to [Semantic Versioning](http://semver.org/).
8
8
 
9
9
 
10
10
  <details>
11
- <summary> Update docker-progress to 5.4.0 [Thodoris Greasidis] </summary>
11
+ <summary> os configure: Fix detecting the OS version of flasher images [Thodoris Greasidis] </summary>
12
12
 
13
- > ### docker-progress-5.4.0 - 2025-12-03
13
+ > ### balena-device-init-8.2.0 - 2025-12-03
14
14
  >
15
- > * pull/push/build: Support detecting the result digest when pushing only the reference of a pre-built image [Thodoris Greasidis]
16
- >
17
- > ### docker-progress-5.3.4 - 2025-12-03
18
- >
19
- > * pull: fix digest hash parsing [Tuetuopay]
20
- >
21
- > ### docker-progress-5.3.3 - 2025-11-28
22
- >
23
- > * Update flowzone workflow to allow external contributions [Thodoris Greasidis]
24
- >
25
- > ### docker-progress-5.3.2 - 2025-11-28
26
- >
27
- > * Fix TS errors for the latest dockerode [Thodoris Greasidis]
28
- >
29
- > ### docker-progress-5.3.1 - 2025-05-15
30
- >
31
- > * Make abortSignal optional in pull/push options [Felipe Lalanne]
32
- >
33
- > ### docker-progress-5.3.0 - 2025-05-12
34
- >
35
- > * Support AbortSignal option for image push/pull [Christina Ying Wang]
36
- >
37
- > ### docker-progress-5.2.7 - 2025-04-10
38
- >
39
- > * Update @balena/lint to 9.x [Pagan Gazzard]
40
- >
41
- > ### docker-progress-5.2.6 - 2025-04-02
42
- >
43
- > * Update dependency rimraf to v6 [balena-renovate[bot]]
44
- >
45
- > ### docker-progress-5.2.5 - 2025-03-25
46
- >
47
- > * Update dependency @balena/lint to v8 [balena-renovate[bot]]
48
- >
49
- > ### docker-progress-5.2.4 - 2025-02-12
50
- >
51
- > * Propagate NodeJS Error from stream directly [Christina Ying Wang]
52
- >
53
- > ### docker-progress-5.2.3 - 2024-01-05
54
- >
55
- > * Make use of nullish coalescing [Pagan Gazzard]
56
- >
57
- > ### docker-progress-5.2.2 - 2024-01-05
58
- >
59
- > * Reduce lodash usage [Pagan Gazzard]
60
- >
61
- > ### docker-progress-5.2.1 - 2024-01-05
62
- >
63
- > * Update dependencies [Pagan Gazzard]
64
- >
65
- > ### docker-progress-5.2.0 - Invalid date
66
- >
67
- > * Add support for tracking delta generation progress [Akis Kesoglou]
68
- >
69
- > ### docker-progress-5.1.4 - Invalid date
70
- >
71
- > * Build with Flowzone [Akis Kesoglou]
15
+ > * Add test for the getImageOsVersion() function on GPT flasher images [Thodoris Greasidis]
16
+ > * Deprecate support for the edison [Thodoris Greasidis]
17
+ > * getImageOsVersion: Support detecting the version on flasher images [Thodoris Greasidis]
18
+ > * Add test for the getImageOsVersion() function on raw DT images [Thodoris Greasidis]
19
+ > * tests/images/raspberrypi-os2.img: Rename the RESIN-BOOT partition to resin-boot as it is supposed to be [Thodoris Greasidis]
72
20
  >
73
21
 
74
22
  </details>
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "balena-cli",
3
- "version": "23.2.5-build-update-docker-progress-5-4-0-224a174b777b629fd139c0cd1128c1df40553fb5-1",
3
+ "version": "23.2.5-build-os-configure-flasher-b7a7baa53519fec52b36c41d9edb9006e27e5a89-3",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "balena-cli",
9
- "version": "23.2.5-build-update-docker-progress-5-4-0-224a174b777b629fd139c0cd1128c1df40553fb5-1",
9
+ "version": "23.2.5-build-os-configure-flasher-b7a7baa53519fec52b36c41d9edb9006e27e5a89-3",
10
10
  "hasInstallScript": true,
11
11
  "license": "Apache-2.0",
12
12
  "dependencies": {
@@ -20,7 +20,7 @@
20
20
  "@oclif/plugin-version": "^2.2.32",
21
21
  "@sentry/node": "^10.17.0",
22
22
  "balena-config-json": "^4.2.7",
23
- "balena-device-init": "^8.1.14",
23
+ "balena-device-init": "^8.2.0",
24
24
  "balena-errors": "^4.7.3",
25
25
  "balena-image-fs": "^7.5.2",
26
26
  "balena-preload": "^18.0.5",
@@ -37,7 +37,7 @@
37
37
  "date-fns": "^4.1.0",
38
38
  "denymount": "^2.3.0",
39
39
  "docker-modem": "^5.0.6",
40
- "docker-progress": "^5.4.0",
40
+ "docker-progress": "^5.1.3",
41
41
  "dockerode": "^4.0.5",
42
42
  "ejs": "^3.1.6",
43
43
  "etcher-sdk": "^10.0.0",
@@ -12600,9 +12600,9 @@
12600
12600
  }
12601
12601
  },
12602
12602
  "node_modules/balena-device-init": {
12603
- "version": "8.1.14",
12604
- "resolved": "https://registry.npmjs.org/balena-device-init/-/balena-device-init-8.1.14.tgz",
12605
- "integrity": "sha512-aanHWsXhlfzo5IpAuBjLGvAPgCJhKEO8pJ1szL7FKv1d9fIuonAz9ueNFk4H46UlNmpiqo1a6A+jbzUkR7EfHQ==",
12603
+ "version": "8.2.0",
12604
+ "resolved": "https://registry.npmjs.org/balena-device-init/-/balena-device-init-8.2.0.tgz",
12605
+ "integrity": "sha512-No8AIt+L5ytJdNkTJTy4XU3JX/bS92nO7e42YModInT1mqYuaqQOgCTSuGE5/1uAIE6WhQRGeZ+/hE5catFrww==",
12606
12606
  "license": "Apache-2.0",
12607
12607
  "dependencies": {
12608
12608
  "balena-config-json": "^4.2.0",
@@ -14613,7 +14613,6 @@
14613
14613
  "resolved": "https://registry.npmjs.org/docker-modem/-/docker-modem-5.0.6.tgz",
14614
14614
  "integrity": "sha512-ens7BiayssQz/uAxGzH8zGXCtiV24rRWXdjNha5V4zSOcxmAZsfGVm/PPFbwQdqEkDnhG+SyR9E3zSHUbOKXBQ==",
14615
14615
  "license": "Apache-2.0",
14616
- "peer": true,
14617
14616
  "dependencies": {
14618
14617
  "debug": "^4.1.1",
14619
14618
  "readable-stream": "^3.5.0",
@@ -14638,21 +14637,13 @@
14638
14637
  }
14639
14638
  },
14640
14639
  "node_modules/docker-progress": {
14641
- "version": "5.4.0",
14642
- "resolved": "https://registry.npmjs.org/docker-progress/-/docker-progress-5.4.0.tgz",
14643
- "integrity": "sha512-AzH4jOpndhfB3wb2RnPOb1KEcyWmcHHR44K0g4qE8oeihmFjc/CnGSuqB2LCivL8j2Yeeduvg6LQyV24XMBtjw==",
14644
- "license": "Apache-2.0",
14640
+ "version": "5.1.3",
14641
+ "resolved": "https://registry.npmjs.org/docker-progress/-/docker-progress-5.1.3.tgz",
14642
+ "integrity": "sha512-Ou+o4ISCxMvuoeG09S/irjgleLdG4ZhNiqo31p8vOzDfZm5+JaS2ouHo4lc4kXKqTN6c5eCm+62oRGoaPLDY1A==",
14645
14643
  "dependencies": {
14646
- "@types/dockerode": "^3.3.23",
14644
+ "@types/dockerode": "^3.3.9",
14647
14645
  "JSONStream": "^1.3.5",
14648
14646
  "lodash": "^4.17.21"
14649
- },
14650
- "engines": {
14651
- "node": ">=16.0.0"
14652
- },
14653
- "peerDependencies": {
14654
- "docker-modem": ">=3.0.3",
14655
- "dockerode": ">=3.3.1"
14656
14647
  }
14657
14648
  },
14658
14649
  "node_modules/dockerfile-ast": {
@@ -14673,7 +14664,6 @@
14673
14664
  "resolved": "https://registry.npmjs.org/dockerode/-/dockerode-4.0.9.tgz",
14674
14665
  "integrity": "sha512-iND4mcOWhPaCNh54WmK/KoSb35AFqPAUWFMffTQcp52uQt36b5uNwEJTSXntJZBbeGad72Crbi/hvDIv6us/6Q==",
14675
14666
  "license": "Apache-2.0",
14676
- "peer": true,
14677
14667
  "dependencies": {
14678
14668
  "@balena/dockerignore": "^1.0.2",
14679
14669
  "@grpc/grpc-js": "^1.11.1",
@@ -2916,59 +2916,6 @@
2916
2916
  "osinit.js"
2917
2917
  ]
2918
2918
  },
2919
- "join": {
2920
- "aliases": [],
2921
- "args": {
2922
- "deviceIpOrHostname": {
2923
- "description": "the IP or hostname of device",
2924
- "name": "deviceIpOrHostname"
2925
- }
2926
- },
2927
- "description": "Move a local device to a fleet on another balena server.\n\nMove a local device to a fleet on another balena server, causing\nthe device to \"join\" the new server. The device must be running balenaOS.\n\nFor example, you could provision a device against an openBalena installation\nwhere you perform end-to-end tests and then move it to balenaCloud when it's\nready for production.\n\nTo move a device between fleets on the same server, use the\n`balena device move` command instead of `balena join`.\n\nIf you don't specify a device hostname or IP, this command will automatically\nscan the local network for balenaOS devices and prompt you to select one\nfrom an interactive picker. This may require administrator/root privileges.\nLikewise, if the fleet option is not provided then a picker will be shown.\n\nFleets may be specified by fleet name or slug. Fleet slugs are\nthe recommended option, as they are unique and unambiguous. Slugs can be\nlisted with the `balena fleet list` command. Note that slugs may change if the\nfleet is renamed. Fleet names are not unique and may result in \"Fleet is\nambiguous\" errors at any time (even if it \"used to work in the past\"), for\nexample if the name clashes with a newly created public fleet, or with fleets\nfrom other balena accounts that you may be invited to join under any role.\nFor this reason, fleet names are especially discouraged in scripts (e.g. CI\nenvironments).",
2928
- "examples": [
2929
- "$ balena join",
2930
- "$ balena join balena.local",
2931
- "$ balena join balena.local --fleet MyFleet",
2932
- "$ balena join balena.local -f myorg/myfleet",
2933
- "$ balena join 192.168.1.25",
2934
- "$ balena join 192.168.1.25 --fleet MyFleet"
2935
- ],
2936
- "flags": {
2937
- "fleet": {
2938
- "char": "f",
2939
- "description": "fleet name or slug (preferred)",
2940
- "name": "fleet",
2941
- "hasDynamicHelp": false,
2942
- "multiple": false,
2943
- "type": "option"
2944
- },
2945
- "pollInterval": {
2946
- "char": "i",
2947
- "description": "the interval in minutes to check for updates",
2948
- "name": "pollInterval",
2949
- "hasDynamicHelp": false,
2950
- "multiple": false,
2951
- "type": "option"
2952
- }
2953
- },
2954
- "hasDynamicHelp": false,
2955
- "hiddenAliases": [],
2956
- "id": "join",
2957
- "pluginAlias": "balena-cli",
2958
- "pluginName": "balena-cli",
2959
- "pluginType": "core",
2960
- "strict": true,
2961
- "enableJsonFlag": false,
2962
- "authenticated": true,
2963
- "primary": true,
2964
- "isESM": false,
2965
- "relativePath": [
2966
- "build",
2967
- "commands",
2968
- "join",
2969
- "index.js"
2970
- ]
2971
- },
2972
2919
  "leave": {
2973
2920
  "aliases": [],
2974
2921
  "args": {
@@ -3002,86 +2949,57 @@
3002
2949
  "index.js"
3003
2950
  ]
3004
2951
  },
3005
- "local:configure": {
3006
- "aliases": [],
3007
- "args": {
3008
- "target": {
3009
- "description": "path of drive or image to configure",
3010
- "name": "target",
3011
- "required": true
3012
- }
3013
- },
3014
- "description": "(Re)configure a balenaOS drive or image.\n\nConfigure or reconfigure a balenaOS drive or image.",
3015
- "examples": [
3016
- "$ balena local configure /dev/sdc",
3017
- "$ balena local configure path/to/image.img"
3018
- ],
3019
- "flags": {},
3020
- "hasDynamicHelp": false,
3021
- "hiddenAliases": [],
3022
- "id": "local:configure",
3023
- "pluginAlias": "balena-cli",
3024
- "pluginName": "balena-cli",
3025
- "pluginType": "core",
3026
- "strict": true,
3027
- "enableJsonFlag": false,
3028
- "root": true,
3029
- "offlineCompatible": true,
3030
- "isESM": false,
3031
- "relativePath": [
3032
- "build",
3033
- "commands",
3034
- "local",
3035
- "configure.js"
3036
- ]
3037
- },
3038
- "local:flash": {
2952
+ "join": {
3039
2953
  "aliases": [],
3040
2954
  "args": {
3041
- "image": {
3042
- "description": "path to OS image",
3043
- "name": "image",
3044
- "required": true
2955
+ "deviceIpOrHostname": {
2956
+ "description": "the IP or hostname of device",
2957
+ "name": "deviceIpOrHostname"
3045
2958
  }
3046
2959
  },
3047
- "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.",
2960
+ "description": "Move a local device to a fleet on another balena server.\n\nMove a local device to a fleet on another balena server, causing\nthe device to \"join\" the new server. The device must be running balenaOS.\n\nFor example, you could provision a device against an openBalena installation\nwhere you perform end-to-end tests and then move it to balenaCloud when it's\nready for production.\n\nTo move a device between fleets on the same server, use the\n`balena device move` command instead of `balena join`.\n\nIf you don't specify a device hostname or IP, this command will automatically\nscan the local network for balenaOS devices and prompt you to select one\nfrom an interactive picker. This may require administrator/root privileges.\nLikewise, if the fleet option is not provided then a picker will be shown.\n\nFleets may be specified by fleet name or slug. Fleet slugs are\nthe recommended option, as they are unique and unambiguous. Slugs can be\nlisted with the `balena fleet list` command. Note that slugs may change if the\nfleet is renamed. Fleet names are not unique and may result in \"Fleet is\nambiguous\" errors at any time (even if it \"used to work in the past\"), for\nexample if the name clashes with a newly created public fleet, or with fleets\nfrom other balena accounts that you may be invited to join under any role.\nFor this reason, fleet names are especially discouraged in scripts (e.g. CI\nenvironments).",
3048
2961
  "examples": [
3049
- "$ balena local flash path/to/balenaos.img",
3050
- "$ balena local flash path/to/balenaos.img --drive /dev/disk2",
3051
- "$ balena local flash path/to/balenaos.img --drive /dev/disk2 --yes"
2962
+ "$ balena join",
2963
+ "$ balena join balena.local",
2964
+ "$ balena join balena.local --fleet MyFleet",
2965
+ "$ balena join balena.local -f myorg/myfleet",
2966
+ "$ balena join 192.168.1.25",
2967
+ "$ balena join 192.168.1.25 --fleet MyFleet"
3052
2968
  ],
3053
2969
  "flags": {
3054
- "drive": {
3055
- "char": "d",
3056
- "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.",
3057
- "name": "drive",
2970
+ "fleet": {
2971
+ "char": "f",
2972
+ "description": "fleet name or slug (preferred)",
2973
+ "name": "fleet",
3058
2974
  "hasDynamicHelp": false,
3059
2975
  "multiple": false,
3060
2976
  "type": "option"
3061
2977
  },
3062
- "yes": {
3063
- "char": "y",
3064
- "description": "answer \"yes\" to all questions (non interactive use)",
3065
- "name": "yes",
3066
- "allowNo": false,
3067
- "type": "boolean"
2978
+ "pollInterval": {
2979
+ "char": "i",
2980
+ "description": "the interval in minutes to check for updates",
2981
+ "name": "pollInterval",
2982
+ "hasDynamicHelp": false,
2983
+ "multiple": false,
2984
+ "type": "option"
3068
2985
  }
3069
2986
  },
3070
2987
  "hasDynamicHelp": false,
3071
2988
  "hiddenAliases": [],
3072
- "id": "local:flash",
2989
+ "id": "join",
3073
2990
  "pluginAlias": "balena-cli",
3074
2991
  "pluginName": "balena-cli",
3075
2992
  "pluginType": "core",
3076
2993
  "strict": true,
3077
2994
  "enableJsonFlag": false,
3078
- "offlineCompatible": true,
2995
+ "authenticated": true,
2996
+ "primary": true,
3079
2997
  "isESM": false,
3080
2998
  "relativePath": [
3081
2999
  "build",
3082
3000
  "commands",
3083
- "local",
3084
- "flash.js"
3001
+ "join",
3002
+ "index.js"
3085
3003
  ]
3086
3004
  },
3087
3005
  "login": {
@@ -3209,29 +3127,86 @@
3209
3127
  "index.js"
3210
3128
  ]
3211
3129
  },
3212
- "organization:list": {
3130
+ "local:configure": {
3213
3131
  "aliases": [],
3214
- "args": {},
3215
- "description": "List all organizations.\n\nlist all the organizations that you are a member of.",
3132
+ "args": {
3133
+ "target": {
3134
+ "description": "path of drive or image to configure",
3135
+ "name": "target",
3136
+ "required": true
3137
+ }
3138
+ },
3139
+ "description": "(Re)configure a balenaOS drive or image.\n\nConfigure or reconfigure a balenaOS drive or image.",
3216
3140
  "examples": [
3217
- "$ balena organization list"
3141
+ "$ balena local configure /dev/sdc",
3142
+ "$ balena local configure path/to/image.img"
3218
3143
  ],
3219
3144
  "flags": {},
3220
3145
  "hasDynamicHelp": false,
3221
3146
  "hiddenAliases": [],
3222
- "id": "organization:list",
3147
+ "id": "local:configure",
3223
3148
  "pluginAlias": "balena-cli",
3224
3149
  "pluginName": "balena-cli",
3225
3150
  "pluginType": "core",
3226
3151
  "strict": true,
3227
3152
  "enableJsonFlag": false,
3228
- "authenticated": true,
3153
+ "root": true,
3154
+ "offlineCompatible": true,
3229
3155
  "isESM": false,
3230
3156
  "relativePath": [
3231
3157
  "build",
3232
3158
  "commands",
3233
- "organization",
3234
- "list.js"
3159
+ "local",
3160
+ "configure.js"
3161
+ ]
3162
+ },
3163
+ "local:flash": {
3164
+ "aliases": [],
3165
+ "args": {
3166
+ "image": {
3167
+ "description": "path to OS image",
3168
+ "name": "image",
3169
+ "required": true
3170
+ }
3171
+ },
3172
+ "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.",
3173
+ "examples": [
3174
+ "$ balena local flash path/to/balenaos.img",
3175
+ "$ balena local flash path/to/balenaos.img --drive /dev/disk2",
3176
+ "$ balena local flash path/to/balenaos.img --drive /dev/disk2 --yes"
3177
+ ],
3178
+ "flags": {
3179
+ "drive": {
3180
+ "char": "d",
3181
+ "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.",
3182
+ "name": "drive",
3183
+ "hasDynamicHelp": false,
3184
+ "multiple": false,
3185
+ "type": "option"
3186
+ },
3187
+ "yes": {
3188
+ "char": "y",
3189
+ "description": "answer \"yes\" to all questions (non interactive use)",
3190
+ "name": "yes",
3191
+ "allowNo": false,
3192
+ "type": "boolean"
3193
+ }
3194
+ },
3195
+ "hasDynamicHelp": false,
3196
+ "hiddenAliases": [],
3197
+ "id": "local:flash",
3198
+ "pluginAlias": "balena-cli",
3199
+ "pluginName": "balena-cli",
3200
+ "pluginType": "core",
3201
+ "strict": true,
3202
+ "enableJsonFlag": false,
3203
+ "offlineCompatible": true,
3204
+ "isESM": false,
3205
+ "relativePath": [
3206
+ "build",
3207
+ "commands",
3208
+ "local",
3209
+ "flash.js"
3235
3210
  ]
3236
3211
  },
3237
3212
  "logout": {
@@ -3258,134 +3233,29 @@
3258
3233
  "index.js"
3259
3234
  ]
3260
3235
  },
3261
- "preload": {
3236
+ "organization:list": {
3262
3237
  "aliases": [],
3263
- "args": {
3264
- "image": {
3265
- "description": "the image file path",
3266
- "name": "image",
3267
- "required": true
3268
- }
3269
- },
3270
- "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.",
3238
+ "args": {},
3239
+ "description": "List all organizations.\n\nlist all the organizations that you are a member of.",
3271
3240
  "examples": [
3272
- "$ balena preload balena.img --fleet MyFleet --commit e1f2592fc6ee949e68756d4f4a48e49bff8d72a0",
3273
- "$ balena preload balena.img --fleet myorg/myfleet --splash-image image.png",
3274
- "$ balena preload balena.img"
3241
+ "$ balena organization list"
3275
3242
  ],
3276
- "flags": {
3277
- "fleet": {
3278
- "char": "f",
3279
- "description": "fleet name or slug (preferred)",
3280
- "name": "fleet",
3281
- "hasDynamicHelp": false,
3282
- "multiple": false,
3283
- "type": "option"
3284
- },
3285
- "commit": {
3286
- "char": "c",
3287
- "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",
3288
- "name": "commit",
3289
- "hasDynamicHelp": false,
3290
- "multiple": false,
3291
- "type": "option"
3292
- },
3293
- "splash-image": {
3294
- "char": "s",
3295
- "description": "path to a png image to replace the splash screen",
3296
- "name": "splash-image",
3297
- "hasDynamicHelp": false,
3298
- "multiple": false,
3299
- "type": "option"
3300
- },
3301
- "dont-check-arch": {
3302
- "description": "disable architecture compatibility check between image and fleet",
3303
- "name": "dont-check-arch",
3304
- "allowNo": false,
3305
- "type": "boolean"
3306
- },
3307
- "pin-device-to-release": {
3308
- "char": "p",
3309
- "description": "pin the preloaded device to the preloaded release on provision",
3310
- "name": "pin-device-to-release",
3311
- "allowNo": true,
3312
- "type": "boolean"
3313
- },
3314
- "additional-space": {
3315
- "description": "expand the image by this amount of bytes instead of automatically estimating the required amount",
3316
- "name": "additional-space",
3317
- "hasDynamicHelp": false,
3318
- "multiple": false,
3319
- "type": "option"
3320
- },
3321
- "add-certificate": {
3322
- "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.",
3323
- "name": "add-certificate",
3324
- "hasDynamicHelp": false,
3325
- "multiple": true,
3326
- "type": "option"
3327
- },
3328
- "docker": {
3329
- "char": "P",
3330
- "description": "Path to a local docker socket (e.g. /var/run/docker.sock)",
3331
- "name": "docker",
3332
- "hasDynamicHelp": false,
3333
- "multiple": false,
3334
- "type": "option"
3335
- },
3336
- "dockerHost": {
3337
- "char": "h",
3338
- "description": "Docker daemon hostname or IP address (dev machine or balena device) ",
3339
- "name": "dockerHost",
3340
- "hasDynamicHelp": false,
3341
- "multiple": false,
3342
- "type": "option"
3343
- },
3344
- "dockerPort": {
3345
- "description": "Docker daemon TCP port number (hint: 2375 for balena devices)",
3346
- "name": "dockerPort",
3347
- "hasDynamicHelp": false,
3348
- "multiple": false,
3349
- "type": "option"
3350
- },
3351
- "ca": {
3352
- "description": "Docker host TLS certificate authority file",
3353
- "name": "ca",
3354
- "hasDynamicHelp": false,
3355
- "multiple": false,
3356
- "type": "option"
3357
- },
3358
- "cert": {
3359
- "description": "Docker host TLS certificate file",
3360
- "name": "cert",
3361
- "hasDynamicHelp": false,
3362
- "multiple": false,
3363
- "type": "option"
3364
- },
3365
- "key": {
3366
- "description": "Docker host TLS key file",
3367
- "name": "key",
3368
- "hasDynamicHelp": false,
3369
- "multiple": false,
3370
- "type": "option"
3371
- }
3372
- },
3243
+ "flags": {},
3373
3244
  "hasDynamicHelp": false,
3374
3245
  "hiddenAliases": [],
3375
- "id": "preload",
3246
+ "id": "organization:list",
3376
3247
  "pluginAlias": "balena-cli",
3377
3248
  "pluginName": "balena-cli",
3378
3249
  "pluginType": "core",
3379
3250
  "strict": true,
3380
3251
  "enableJsonFlag": false,
3381
3252
  "authenticated": true,
3382
- "primary": true,
3383
3253
  "isESM": false,
3384
3254
  "relativePath": [
3385
3255
  "build",
3386
3256
  "commands",
3387
- "preload",
3388
- "index.js"
3257
+ "organization",
3258
+ "list.js"
3389
3259
  ]
3390
3260
  },
3391
3261
  "os:configure": {
@@ -3727,6 +3597,136 @@
3727
3597
  "versions.js"
3728
3598
  ]
3729
3599
  },
3600
+ "preload": {
3601
+ "aliases": [],
3602
+ "args": {
3603
+ "image": {
3604
+ "description": "the image file path",
3605
+ "name": "image",
3606
+ "required": true
3607
+ }
3608
+ },
3609
+ "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.",
3610
+ "examples": [
3611
+ "$ balena preload balena.img --fleet MyFleet --commit e1f2592fc6ee949e68756d4f4a48e49bff8d72a0",
3612
+ "$ balena preload balena.img --fleet myorg/myfleet --splash-image image.png",
3613
+ "$ balena preload balena.img"
3614
+ ],
3615
+ "flags": {
3616
+ "fleet": {
3617
+ "char": "f",
3618
+ "description": "fleet name or slug (preferred)",
3619
+ "name": "fleet",
3620
+ "hasDynamicHelp": false,
3621
+ "multiple": false,
3622
+ "type": "option"
3623
+ },
3624
+ "commit": {
3625
+ "char": "c",
3626
+ "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",
3627
+ "name": "commit",
3628
+ "hasDynamicHelp": false,
3629
+ "multiple": false,
3630
+ "type": "option"
3631
+ },
3632
+ "splash-image": {
3633
+ "char": "s",
3634
+ "description": "path to a png image to replace the splash screen",
3635
+ "name": "splash-image",
3636
+ "hasDynamicHelp": false,
3637
+ "multiple": false,
3638
+ "type": "option"
3639
+ },
3640
+ "dont-check-arch": {
3641
+ "description": "disable architecture compatibility check between image and fleet",
3642
+ "name": "dont-check-arch",
3643
+ "allowNo": false,
3644
+ "type": "boolean"
3645
+ },
3646
+ "pin-device-to-release": {
3647
+ "char": "p",
3648
+ "description": "pin the preloaded device to the preloaded release on provision",
3649
+ "name": "pin-device-to-release",
3650
+ "allowNo": true,
3651
+ "type": "boolean"
3652
+ },
3653
+ "additional-space": {
3654
+ "description": "expand the image by this amount of bytes instead of automatically estimating the required amount",
3655
+ "name": "additional-space",
3656
+ "hasDynamicHelp": false,
3657
+ "multiple": false,
3658
+ "type": "option"
3659
+ },
3660
+ "add-certificate": {
3661
+ "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.",
3662
+ "name": "add-certificate",
3663
+ "hasDynamicHelp": false,
3664
+ "multiple": true,
3665
+ "type": "option"
3666
+ },
3667
+ "docker": {
3668
+ "char": "P",
3669
+ "description": "Path to a local docker socket (e.g. /var/run/docker.sock)",
3670
+ "name": "docker",
3671
+ "hasDynamicHelp": false,
3672
+ "multiple": false,
3673
+ "type": "option"
3674
+ },
3675
+ "dockerHost": {
3676
+ "char": "h",
3677
+ "description": "Docker daemon hostname or IP address (dev machine or balena device) ",
3678
+ "name": "dockerHost",
3679
+ "hasDynamicHelp": false,
3680
+ "multiple": false,
3681
+ "type": "option"
3682
+ },
3683
+ "dockerPort": {
3684
+ "description": "Docker daemon TCP port number (hint: 2375 for balena devices)",
3685
+ "name": "dockerPort",
3686
+ "hasDynamicHelp": false,
3687
+ "multiple": false,
3688
+ "type": "option"
3689
+ },
3690
+ "ca": {
3691
+ "description": "Docker host TLS certificate authority file",
3692
+ "name": "ca",
3693
+ "hasDynamicHelp": false,
3694
+ "multiple": false,
3695
+ "type": "option"
3696
+ },
3697
+ "cert": {
3698
+ "description": "Docker host TLS certificate file",
3699
+ "name": "cert",
3700
+ "hasDynamicHelp": false,
3701
+ "multiple": false,
3702
+ "type": "option"
3703
+ },
3704
+ "key": {
3705
+ "description": "Docker host TLS key file",
3706
+ "name": "key",
3707
+ "hasDynamicHelp": false,
3708
+ "multiple": false,
3709
+ "type": "option"
3710
+ }
3711
+ },
3712
+ "hasDynamicHelp": false,
3713
+ "hiddenAliases": [],
3714
+ "id": "preload",
3715
+ "pluginAlias": "balena-cli",
3716
+ "pluginName": "balena-cli",
3717
+ "pluginType": "core",
3718
+ "strict": true,
3719
+ "enableJsonFlag": false,
3720
+ "authenticated": true,
3721
+ "primary": true,
3722
+ "isESM": false,
3723
+ "relativePath": [
3724
+ "build",
3725
+ "commands",
3726
+ "preload",
3727
+ "index.js"
3728
+ ]
3729
+ },
3730
3730
  "push": {
3731
3731
  "aliases": [],
3732
3732
  "args": {
@@ -4074,30 +4074,6 @@
4074
4074
  "validate.js"
4075
4075
  ]
4076
4076
  },
4077
- "settings": {
4078
- "aliases": [],
4079
- "args": {},
4080
- "description": "Print current settings.\n\nUse this command to display the current balena CLI settings.",
4081
- "examples": [
4082
- "$ balena settings"
4083
- ],
4084
- "flags": {},
4085
- "hasDynamicHelp": false,
4086
- "hiddenAliases": [],
4087
- "id": "settings",
4088
- "pluginAlias": "balena-cli",
4089
- "pluginName": "balena-cli",
4090
- "pluginType": "core",
4091
- "strict": true,
4092
- "enableJsonFlag": false,
4093
- "isESM": false,
4094
- "relativePath": [
4095
- "build",
4096
- "commands",
4097
- "settings",
4098
- "index.js"
4099
- ]
4100
- },
4101
4077
  "release-asset:delete": {
4102
4078
  "aliases": [],
4103
4079
  "args": {
@@ -4313,6 +4289,30 @@
4313
4289
  "upload.js"
4314
4290
  ]
4315
4291
  },
4292
+ "settings": {
4293
+ "aliases": [],
4294
+ "args": {},
4295
+ "description": "Print current settings.\n\nUse this command to display the current balena CLI settings.",
4296
+ "examples": [
4297
+ "$ balena settings"
4298
+ ],
4299
+ "flags": {},
4300
+ "hasDynamicHelp": false,
4301
+ "hiddenAliases": [],
4302
+ "id": "settings",
4303
+ "pluginAlias": "balena-cli",
4304
+ "pluginName": "balena-cli",
4305
+ "pluginType": "core",
4306
+ "strict": true,
4307
+ "enableJsonFlag": false,
4308
+ "isESM": false,
4309
+ "relativePath": [
4310
+ "build",
4311
+ "commands",
4312
+ "settings",
4313
+ "index.js"
4314
+ ]
4315
+ },
4316
4316
  "ssh-key:add": {
4317
4317
  "aliases": [],
4318
4318
  "args": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "balena-cli",
3
- "version": "23.2.5-build-update-docker-progress-5-4-0-224a174b777b629fd139c0cd1128c1df40553fb5-1",
3
+ "version": "23.2.5-build-os-configure-flasher-b7a7baa53519fec52b36c41d9edb9006e27e5a89-3",
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",
@@ -186,7 +186,7 @@
186
186
  "@oclif/plugin-version": "^2.2.32",
187
187
  "@sentry/node": "^10.17.0",
188
188
  "balena-config-json": "^4.2.7",
189
- "balena-device-init": "^8.1.14",
189
+ "balena-device-init": "^8.2.0",
190
190
  "balena-errors": "^4.7.3",
191
191
  "balena-image-fs": "^7.5.2",
192
192
  "balena-preload": "^18.0.5",
@@ -203,7 +203,7 @@
203
203
  "date-fns": "^4.1.0",
204
204
  "denymount": "^2.3.0",
205
205
  "docker-modem": "^5.0.6",
206
- "docker-progress": "^5.4.0",
206
+ "docker-progress": "^5.1.3",
207
207
  "dockerode": "^4.0.5",
208
208
  "ejs": "^3.1.6",
209
209
  "etcher-sdk": "^10.0.0",
@@ -262,6 +262,6 @@
262
262
  "balena-request": "14.0.6"
263
263
  },
264
264
  "versionist": {
265
- "publishedAt": "2025-12-04T21:39:25.723Z"
265
+ "publishedAt": "2025-12-04T21:48:38.225Z"
266
266
  }
267
267
  }