balena-cli 25.2.0 → 25.2.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 +5 -1
- package/npm-shrinkwrap.json +125 -104
- package/oclif.manifest.json +375 -375
- package/package.json +2 -2
package/oclif.manifest.json
CHANGED
|
@@ -3209,6 +3209,30 @@
|
|
|
3209
3209
|
"index.js"
|
|
3210
3210
|
]
|
|
3211
3211
|
},
|
|
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
|
+
},
|
|
3212
3236
|
"organization:create": {
|
|
3213
3237
|
"aliases": [],
|
|
3214
3238
|
"args": {
|
|
@@ -3341,27 +3365,133 @@
|
|
|
3341
3365
|
"rm.js"
|
|
3342
3366
|
]
|
|
3343
3367
|
},
|
|
3344
|
-
"
|
|
3368
|
+
"preload": {
|
|
3345
3369
|
"aliases": [],
|
|
3346
|
-
"args": {
|
|
3347
|
-
|
|
3370
|
+
"args": {
|
|
3371
|
+
"image": {
|
|
3372
|
+
"description": "the image file path",
|
|
3373
|
+
"name": "image",
|
|
3374
|
+
"required": true
|
|
3375
|
+
}
|
|
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.",
|
|
3348
3378
|
"examples": [
|
|
3349
|
-
"$ balena
|
|
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"
|
|
3350
3382
|
],
|
|
3351
|
-
"flags": {
|
|
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
|
+
},
|
|
3352
3480
|
"hasDynamicHelp": false,
|
|
3353
3481
|
"hiddenAliases": [],
|
|
3354
|
-
"id": "
|
|
3482
|
+
"id": "preload",
|
|
3355
3483
|
"pluginAlias": "balena-cli",
|
|
3356
3484
|
"pluginName": "balena-cli",
|
|
3357
3485
|
"pluginType": "core",
|
|
3358
3486
|
"strict": true,
|
|
3359
3487
|
"enableJsonFlag": false,
|
|
3488
|
+
"authenticated": true,
|
|
3489
|
+
"primary": true,
|
|
3360
3490
|
"isESM": false,
|
|
3361
3491
|
"relativePath": [
|
|
3362
3492
|
"build",
|
|
3363
3493
|
"commands",
|
|
3364
|
-
"
|
|
3494
|
+
"preload",
|
|
3365
3495
|
"index.js"
|
|
3366
3496
|
]
|
|
3367
3497
|
},
|
|
@@ -3715,230 +3845,100 @@
|
|
|
3715
3845
|
"versions.js"
|
|
3716
3846
|
]
|
|
3717
3847
|
},
|
|
3718
|
-
"
|
|
3848
|
+
"push": {
|
|
3719
3849
|
"aliases": [],
|
|
3720
3850
|
"args": {
|
|
3721
|
-
"
|
|
3722
|
-
"description": "
|
|
3723
|
-
"name": "
|
|
3851
|
+
"fleetOrDevice": {
|
|
3852
|
+
"description": "fleet name or slug, or local device IP address or \".local\" hostname",
|
|
3853
|
+
"name": "fleetOrDevice",
|
|
3724
3854
|
"required": true
|
|
3725
3855
|
}
|
|
3726
3856
|
},
|
|
3727
|
-
"description": "
|
|
3857
|
+
"description": "Build release images on balenaCloud servers or on a local mode device.\n\nBuild release images on balenaCloud servers or on a local mode device.\n\nWhen building on the balenaCloud servers, the given source directory will be\nsent to the remote server. This can be used as a drop-in replacement for the\n\"git push\" deployment method.\n\nWhen building on a local mode device, the given source directory will be\nbuilt on the device, and the resulting containers will be run on the device.\nLogs will be streamed back from the device as part of the same invocation.\nThe web dashboard can be used to switch a device to local mode:\nhttps://www.balena.io/docs/learn/develop/local-mode/\nNote that local mode requires a supervisor version of at least v7.21.0.\nThe logs from only a single service can be shown with the --service flag, and\nshowing only the system logs can be achieved with --system. Note that these\nflags can be used together.\n\nWhen pushing to a local device a live session will be started.\nThe project source folder is watched for filesystem events, and changes\nto files and folders are automatically synchronized to the running\ncontainers. The synchronization is only in one direction, from this machine to\nthe device, and changes made on the device itself may be overwritten.\nThis feature requires a device running supervisor version v9.7.0 or greater.\n\nREGISTRY SECRETS \nThe --registry-secrets option specifies a JSON or YAML file containing private\nDocker registry usernames and passwords to be used when pulling base images.\nSample registry-secrets YAML file:\n```\n\t'my-registry-server.com:25000':\n\t\tusername: ann\n\t\tpassword: hunter2\n\t'': # Use the empty string to refer to the Docker Hub\n\t\tusername: mike\n\t\tpassword: cze14\n\t'eu.gcr.io': # Google Container Registry\n\t\tusername: '_json_key'\n\t\tpassword: '{escaped contents of the GCR keyfile.json file}'\n```\nFor a sample project using registry secrets with the Google Container Registry,\ncheck: https://github.com/balena-io-examples/sample-gcr-registry-secrets\n\nIf the --registry-secrets option is not specified, and a secrets.yml or\nsecrets.json file exists in the balena directory (usually $HOME/.balena),\nthis file will be used instead.\n\nDOCKERIGNORE AND GITIGNORE FILES \nBy default, the balena CLI will use a single \".dockerignore\" file (if any) at\nthe project root (--source directory) in order to decide which source files to\nexclude from the \"build context\" (tar stream) sent to balenaCloud, Docker\ndaemon or balenaEngine. In a microservices (multicontainer) fleet, the\nsource directory is the directory that contains the \"docker-compose.yml\" file.\n\nThe --multi-dockerignore (-m) option may be used with microservices\n(multicontainer) fleets that define a docker-compose.yml file. When this\noption is used, each service subdirectory (defined by the `build` or\n`build.context` service properties in the docker-compose.yml file) is\nfiltered separately according to a .dockerignore file defined in the service\nsubdirectory. If no .dockerignore file exists in a service subdirectory, then\nonly the default .dockerignore patterns (see below) apply for that service\nsubdirectory.\n\nWhen the --multi-dockerignore (-m) option is used, the .dockerignore file (if\nany) defined at the overall project root will be used to filter files and\nsubdirectories other than service subdirectories. It will not have any effect\non service subdirectories, whether or not a service subdirectory defines its\nown .dockerignore file. Multiple .dockerignore files are not merged or added\ntogether, and cannot override or extend other files. This behavior maximizes\ncompatibility with the standard docker-compose tool, while still allowing a\nroot .dockerignore file (at the overall project root) to filter files and\nfolders that are outside service subdirectories.\n\nbalena CLI v11 also took .gitignore files into account. This behavior was\ndeprecated in CLI v12 and removed in CLI v13. Please use .dockerignore files\ninstead.\n\nDefault .dockerignore patterns \nA few default/hardcoded dockerignore patterns are \"merged\" (in memory) with the\npatterns found in the applicable .dockerignore files, in the following order:\n```\n **/.git\n < user's patterns from the applicable '.dockerignore' file, if any >\n !**/.balena\n !**/.resin\n !**/Dockerfile\n !**/Dockerfile.*\n !**/docker-compose.yml\n```\nThese patterns always apply, whether or not .dockerignore files exist in the\nproject. If necessary, the effect of the `**/.git` pattern may be modified by\nadding exception patterns to the applicable .dockerignore file(s), for example\n`!mysubmodule/.git`. For documentation on pattern format, see:\n- https://docs.docker.com/engine/reference/builder/#dockerignore-file\n- https://www.npmjs.com/package/@balena/dockerignore\n\nNote: the --service and --env flags must come after the fleetOrDevice\nparameter, as per examples.",
|
|
3728
3858
|
"examples": [
|
|
3729
|
-
"$ balena
|
|
3730
|
-
"$ balena
|
|
3731
|
-
"$ balena
|
|
3859
|
+
"$ balena push myFleet",
|
|
3860
|
+
"$ balena push myFleet --source <source directory>",
|
|
3861
|
+
"$ balena push myFleet -s <source directory>",
|
|
3862
|
+
"$ balena push myFleet --source <source directory> --note \"this is the note for this release\"",
|
|
3863
|
+
"$ balena push myFleet --release-tag key1 \"\" key2 \"value2 with spaces\"",
|
|
3864
|
+
"$ balena push myorg/myfleet",
|
|
3865
|
+
"",
|
|
3866
|
+
"$ balena push 10.0.0.1",
|
|
3867
|
+
"$ balena push 10.0.0.1 --source <source directory>",
|
|
3868
|
+
"$ balena push 10.0.0.1 --service my-service",
|
|
3869
|
+
"$ balena push 10.0.0.1 --env MY_ENV_VAR=value --env my-service:SERVICE_VAR=value",
|
|
3870
|
+
"$ balena push 10.0.0.1 --nolive",
|
|
3871
|
+
"",
|
|
3872
|
+
"$ balena push 23c73a1.local --system",
|
|
3873
|
+
"$ balena push 23c73a1.local --system --service my-service"
|
|
3732
3874
|
],
|
|
3733
3875
|
"flags": {
|
|
3734
|
-
"
|
|
3735
|
-
"char": "
|
|
3736
|
-
"description": "
|
|
3737
|
-
"name": "
|
|
3876
|
+
"source": {
|
|
3877
|
+
"char": "s",
|
|
3878
|
+
"description": "Source directory to be sent to balenaCloud or balenaOS device\n(default: current working dir)",
|
|
3879
|
+
"name": "source",
|
|
3880
|
+
"default": ".",
|
|
3738
3881
|
"hasDynamicHelp": false,
|
|
3739
3882
|
"multiple": false,
|
|
3740
3883
|
"type": "option"
|
|
3741
3884
|
},
|
|
3742
|
-
"
|
|
3743
|
-
"char": "
|
|
3744
|
-
"description": "
|
|
3745
|
-
"name": "
|
|
3746
|
-
"
|
|
3747
|
-
"
|
|
3748
|
-
"type": "option"
|
|
3885
|
+
"emulated": {
|
|
3886
|
+
"char": "e",
|
|
3887
|
+
"description": "Don't use the faster, native balenaCloud ARM builders; force slower QEMU ARM\nemulation on Intel x86-64 builders. This flag is sometimes used to investigate\nsuspected issues with the balenaCloud backend.",
|
|
3888
|
+
"name": "emulated",
|
|
3889
|
+
"allowNo": false,
|
|
3890
|
+
"type": "boolean"
|
|
3749
3891
|
},
|
|
3750
|
-
"
|
|
3751
|
-
"
|
|
3752
|
-
"
|
|
3753
|
-
"name": "splash-image",
|
|
3892
|
+
"dockerfile": {
|
|
3893
|
+
"description": "Alternative Dockerfile name/path, relative to the source folder",
|
|
3894
|
+
"name": "dockerfile",
|
|
3754
3895
|
"hasDynamicHelp": false,
|
|
3755
3896
|
"multiple": false,
|
|
3756
3897
|
"type": "option"
|
|
3757
3898
|
},
|
|
3758
|
-
"
|
|
3759
|
-
"
|
|
3760
|
-
"
|
|
3899
|
+
"nocache": {
|
|
3900
|
+
"char": "c",
|
|
3901
|
+
"description": "Don't use cached layers of previously built images for this project. This\nensures that the latest base image and packages are pulled. Note that build\nlogs may still display the message _\"Pulling previous images for caching\npurposes\" (as the cloud builder needs previous images to compute delta\nupdates), but the logs will not display the \"Using cache\" lines for each\nbuild step of a Dockerfile.",
|
|
3902
|
+
"name": "nocache",
|
|
3761
3903
|
"allowNo": false,
|
|
3762
3904
|
"type": "boolean"
|
|
3763
3905
|
},
|
|
3764
|
-
"
|
|
3765
|
-
"
|
|
3766
|
-
"
|
|
3767
|
-
"
|
|
3768
|
-
"allowNo": true,
|
|
3906
|
+
"pull": {
|
|
3907
|
+
"description": "When pushing to a local device, force the base images to be pulled again.\nCurrently this option is ignored when pushing to the balenaCloud builders.",
|
|
3908
|
+
"name": "pull",
|
|
3909
|
+
"allowNo": false,
|
|
3769
3910
|
"type": "boolean"
|
|
3770
3911
|
},
|
|
3771
|
-
"
|
|
3772
|
-
"description": "
|
|
3773
|
-
"name": "
|
|
3912
|
+
"noparent-check": {
|
|
3913
|
+
"description": "Disable project validation check of 'docker-compose.yml' file in parent folder",
|
|
3914
|
+
"name": "noparent-check",
|
|
3915
|
+
"allowNo": false,
|
|
3916
|
+
"type": "boolean"
|
|
3917
|
+
},
|
|
3918
|
+
"registry-secrets": {
|
|
3919
|
+
"char": "R",
|
|
3920
|
+
"description": "Path to a local YAML or JSON file containing Docker registry passwords used\nto pull base images. Note that if registry-secrets are not provided on the\ncommand line, a secrets configuration file from the balena directory will be\nused (usually $HOME/.balena/secrets.yml|.json)",
|
|
3921
|
+
"name": "registry-secrets",
|
|
3774
3922
|
"hasDynamicHelp": false,
|
|
3775
3923
|
"multiple": false,
|
|
3776
3924
|
"type": "option"
|
|
3777
3925
|
},
|
|
3778
|
-
"
|
|
3779
|
-
"description": "
|
|
3780
|
-
"name": "
|
|
3781
|
-
"
|
|
3782
|
-
"
|
|
3783
|
-
|
|
3784
|
-
|
|
3785
|
-
|
|
3786
|
-
"
|
|
3787
|
-
"
|
|
3788
|
-
"
|
|
3789
|
-
"
|
|
3790
|
-
|
|
3791
|
-
|
|
3792
|
-
|
|
3793
|
-
|
|
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
|
-
"push": {
|
|
3849
|
-
"aliases": [],
|
|
3850
|
-
"args": {
|
|
3851
|
-
"fleetOrDevice": {
|
|
3852
|
-
"description": "fleet name or slug, or local device IP address or \".local\" hostname",
|
|
3853
|
-
"name": "fleetOrDevice",
|
|
3854
|
-
"required": true
|
|
3855
|
-
}
|
|
3856
|
-
},
|
|
3857
|
-
"description": "Build release images on balenaCloud servers or on a local mode device.\n\nBuild release images on balenaCloud servers or on a local mode device.\n\nWhen building on the balenaCloud servers, the given source directory will be\nsent to the remote server. This can be used as a drop-in replacement for the\n\"git push\" deployment method.\n\nWhen building on a local mode device, the given source directory will be\nbuilt on the device, and the resulting containers will be run on the device.\nLogs will be streamed back from the device as part of the same invocation.\nThe web dashboard can be used to switch a device to local mode:\nhttps://www.balena.io/docs/learn/develop/local-mode/\nNote that local mode requires a supervisor version of at least v7.21.0.\nThe logs from only a single service can be shown with the --service flag, and\nshowing only the system logs can be achieved with --system. Note that these\nflags can be used together.\n\nWhen pushing to a local device a live session will be started.\nThe project source folder is watched for filesystem events, and changes\nto files and folders are automatically synchronized to the running\ncontainers. The synchronization is only in one direction, from this machine to\nthe device, and changes made on the device itself may be overwritten.\nThis feature requires a device running supervisor version v9.7.0 or greater.\n\nREGISTRY SECRETS \nThe --registry-secrets option specifies a JSON or YAML file containing private\nDocker registry usernames and passwords to be used when pulling base images.\nSample registry-secrets YAML file:\n```\n\t'my-registry-server.com:25000':\n\t\tusername: ann\n\t\tpassword: hunter2\n\t'': # Use the empty string to refer to the Docker Hub\n\t\tusername: mike\n\t\tpassword: cze14\n\t'eu.gcr.io': # Google Container Registry\n\t\tusername: '_json_key'\n\t\tpassword: '{escaped contents of the GCR keyfile.json file}'\n```\nFor a sample project using registry secrets with the Google Container Registry,\ncheck: https://github.com/balena-io-examples/sample-gcr-registry-secrets\n\nIf the --registry-secrets option is not specified, and a secrets.yml or\nsecrets.json file exists in the balena directory (usually $HOME/.balena),\nthis file will be used instead.\n\nDOCKERIGNORE AND GITIGNORE FILES \nBy default, the balena CLI will use a single \".dockerignore\" file (if any) at\nthe project root (--source directory) in order to decide which source files to\nexclude from the \"build context\" (tar stream) sent to balenaCloud, Docker\ndaemon or balenaEngine. In a microservices (multicontainer) fleet, the\nsource directory is the directory that contains the \"docker-compose.yml\" file.\n\nThe --multi-dockerignore (-m) option may be used with microservices\n(multicontainer) fleets that define a docker-compose.yml file. When this\noption is used, each service subdirectory (defined by the `build` or\n`build.context` service properties in the docker-compose.yml file) is\nfiltered separately according to a .dockerignore file defined in the service\nsubdirectory. If no .dockerignore file exists in a service subdirectory, then\nonly the default .dockerignore patterns (see below) apply for that service\nsubdirectory.\n\nWhen the --multi-dockerignore (-m) option is used, the .dockerignore file (if\nany) defined at the overall project root will be used to filter files and\nsubdirectories other than service subdirectories. It will not have any effect\non service subdirectories, whether or not a service subdirectory defines its\nown .dockerignore file. Multiple .dockerignore files are not merged or added\ntogether, and cannot override or extend other files. This behavior maximizes\ncompatibility with the standard docker-compose tool, while still allowing a\nroot .dockerignore file (at the overall project root) to filter files and\nfolders that are outside service subdirectories.\n\nbalena CLI v11 also took .gitignore files into account. This behavior was\ndeprecated in CLI v12 and removed in CLI v13. Please use .dockerignore files\ninstead.\n\nDefault .dockerignore patterns \nA few default/hardcoded dockerignore patterns are \"merged\" (in memory) with the\npatterns found in the applicable .dockerignore files, in the following order:\n```\n **/.git\n < user's patterns from the applicable '.dockerignore' file, if any >\n !**/.balena\n !**/.resin\n !**/Dockerfile\n !**/Dockerfile.*\n !**/docker-compose.yml\n```\nThese patterns always apply, whether or not .dockerignore files exist in the\nproject. If necessary, the effect of the `**/.git` pattern may be modified by\nadding exception patterns to the applicable .dockerignore file(s), for example\n`!mysubmodule/.git`. For documentation on pattern format, see:\n- https://docs.docker.com/engine/reference/builder/#dockerignore-file\n- https://www.npmjs.com/package/@balena/dockerignore\n\nNote: the --service and --env flags must come after the fleetOrDevice\nparameter, as per examples.",
|
|
3858
|
-
"examples": [
|
|
3859
|
-
"$ balena push myFleet",
|
|
3860
|
-
"$ balena push myFleet --source <source directory>",
|
|
3861
|
-
"$ balena push myFleet -s <source directory>",
|
|
3862
|
-
"$ balena push myFleet --source <source directory> --note \"this is the note for this release\"",
|
|
3863
|
-
"$ balena push myFleet --release-tag key1 \"\" key2 \"value2 with spaces\"",
|
|
3864
|
-
"$ balena push myorg/myfleet",
|
|
3865
|
-
"",
|
|
3866
|
-
"$ balena push 10.0.0.1",
|
|
3867
|
-
"$ balena push 10.0.0.1 --source <source directory>",
|
|
3868
|
-
"$ balena push 10.0.0.1 --service my-service",
|
|
3869
|
-
"$ balena push 10.0.0.1 --env MY_ENV_VAR=value --env my-service:SERVICE_VAR=value",
|
|
3870
|
-
"$ balena push 10.0.0.1 --nolive",
|
|
3871
|
-
"",
|
|
3872
|
-
"$ balena push 23c73a1.local --system",
|
|
3873
|
-
"$ balena push 23c73a1.local --system --service my-service"
|
|
3874
|
-
],
|
|
3875
|
-
"flags": {
|
|
3876
|
-
"source": {
|
|
3877
|
-
"char": "s",
|
|
3878
|
-
"description": "Source directory to be sent to balenaCloud or balenaOS device\n(default: current working dir)",
|
|
3879
|
-
"name": "source",
|
|
3880
|
-
"default": ".",
|
|
3881
|
-
"hasDynamicHelp": false,
|
|
3882
|
-
"multiple": false,
|
|
3883
|
-
"type": "option"
|
|
3884
|
-
},
|
|
3885
|
-
"emulated": {
|
|
3886
|
-
"char": "e",
|
|
3887
|
-
"description": "Don't use the faster, native balenaCloud ARM builders; force slower QEMU ARM\nemulation on Intel x86-64 builders. This flag is sometimes used to investigate\nsuspected issues with the balenaCloud backend.",
|
|
3888
|
-
"name": "emulated",
|
|
3889
|
-
"allowNo": false,
|
|
3890
|
-
"type": "boolean"
|
|
3891
|
-
},
|
|
3892
|
-
"dockerfile": {
|
|
3893
|
-
"description": "Alternative Dockerfile name/path, relative to the source folder",
|
|
3894
|
-
"name": "dockerfile",
|
|
3895
|
-
"hasDynamicHelp": false,
|
|
3896
|
-
"multiple": false,
|
|
3897
|
-
"type": "option"
|
|
3898
|
-
},
|
|
3899
|
-
"nocache": {
|
|
3900
|
-
"char": "c",
|
|
3901
|
-
"description": "Don't use cached layers of previously built images for this project. This\nensures that the latest base image and packages are pulled. Note that build\nlogs may still display the message _\"Pulling previous images for caching\npurposes\" (as the cloud builder needs previous images to compute delta\nupdates), but the logs will not display the \"Using cache\" lines for each\nbuild step of a Dockerfile.",
|
|
3902
|
-
"name": "nocache",
|
|
3903
|
-
"allowNo": false,
|
|
3904
|
-
"type": "boolean"
|
|
3905
|
-
},
|
|
3906
|
-
"pull": {
|
|
3907
|
-
"description": "When pushing to a local device, force the base images to be pulled again.\nCurrently this option is ignored when pushing to the balenaCloud builders.",
|
|
3908
|
-
"name": "pull",
|
|
3909
|
-
"allowNo": false,
|
|
3910
|
-
"type": "boolean"
|
|
3911
|
-
},
|
|
3912
|
-
"noparent-check": {
|
|
3913
|
-
"description": "Disable project validation check of 'docker-compose.yml' file in parent folder",
|
|
3914
|
-
"name": "noparent-check",
|
|
3915
|
-
"allowNo": false,
|
|
3916
|
-
"type": "boolean"
|
|
3917
|
-
},
|
|
3918
|
-
"registry-secrets": {
|
|
3919
|
-
"char": "R",
|
|
3920
|
-
"description": "Path to a local YAML or JSON file containing Docker registry passwords used\nto pull base images. Note that if registry-secrets are not provided on the\ncommand line, a secrets configuration file from the balena directory will be\nused (usually $HOME/.balena/secrets.yml|.json)",
|
|
3921
|
-
"name": "registry-secrets",
|
|
3922
|
-
"hasDynamicHelp": false,
|
|
3923
|
-
"multiple": false,
|
|
3924
|
-
"type": "option"
|
|
3925
|
-
},
|
|
3926
|
-
"nolive": {
|
|
3927
|
-
"description": "Don't run a live session on this push. The filesystem will not be monitored,\nand changes will not be synchronized to any running containers. Note that both\nthis flag and --detached are required to cause the process to end once the\ninitial build has completed.",
|
|
3928
|
-
"name": "nolive",
|
|
3929
|
-
"allowNo": false,
|
|
3930
|
-
"type": "boolean"
|
|
3931
|
-
},
|
|
3932
|
-
"detached": {
|
|
3933
|
-
"char": "d",
|
|
3934
|
-
"description": "When pushing to the cloud, this option will cause the build to start, then\nreturn execution back to the shell, with the status and release ID (if\napplicable). When pushing to a local mode device, this option will cause\nthe command to not tail logs when the build has completed.",
|
|
3935
|
-
"name": "detached",
|
|
3936
|
-
"allowNo": false,
|
|
3937
|
-
"type": "boolean"
|
|
3938
|
-
},
|
|
3939
|
-
"service": {
|
|
3940
|
-
"description": "Reject logs not originating from this service.\nThis can be used in combination with --system and other --service flags.\nOnly valid when pushing to a local mode device.",
|
|
3941
|
-
"name": "service",
|
|
3926
|
+
"nolive": {
|
|
3927
|
+
"description": "Don't run a live session on this push. The filesystem will not be monitored,\nand changes will not be synchronized to any running containers. Note that both\nthis flag and --detached are required to cause the process to end once the\ninitial build has completed.",
|
|
3928
|
+
"name": "nolive",
|
|
3929
|
+
"allowNo": false,
|
|
3930
|
+
"type": "boolean"
|
|
3931
|
+
},
|
|
3932
|
+
"detached": {
|
|
3933
|
+
"char": "d",
|
|
3934
|
+
"description": "When pushing to the cloud, this option will cause the build to start, then\nreturn execution back to the shell, with the status and release ID (if\napplicable). When pushing to a local mode device, this option will cause\nthe command to not tail logs when the build has completed.",
|
|
3935
|
+
"name": "detached",
|
|
3936
|
+
"allowNo": false,
|
|
3937
|
+
"type": "boolean"
|
|
3938
|
+
},
|
|
3939
|
+
"service": {
|
|
3940
|
+
"description": "Reject logs not originating from this service.\nThis can be used in combination with --system and other --service flags.\nOnly valid when pushing to a local mode device.",
|
|
3941
|
+
"name": "service",
|
|
3942
3942
|
"hasDynamicHelp": false,
|
|
3943
3943
|
"multiple": true,
|
|
3944
3944
|
"type": "option"
|
|
@@ -4010,41 +4010,24 @@
|
|
|
4010
4010
|
"index.js"
|
|
4011
4011
|
]
|
|
4012
4012
|
},
|
|
4013
|
-
"release
|
|
4013
|
+
"release:finalize": {
|
|
4014
4014
|
"aliases": [],
|
|
4015
4015
|
"args": {
|
|
4016
4016
|
"commitOrId": {
|
|
4017
|
-
"description": "the commit or ID of the release",
|
|
4017
|
+
"description": "the commit or ID of the release to finalize",
|
|
4018
4018
|
"name": "commitOrId",
|
|
4019
4019
|
"required": true
|
|
4020
4020
|
}
|
|
4021
4021
|
},
|
|
4022
|
-
"description": "
|
|
4022
|
+
"description": "Finalize a release.\n\nFinalize a release. Releases can be \"draft\" or \"final\", and this command\nchanges a draft release into a final release. Draft releases can be created\nwith the `--draft` option of the `balena build` or `balena deploy`\ncommands.\n\nDraft releases are not automatically deployed to devices tracking the latest\nrelease. For a draft release to be deployed to a device, the device should be\nexplicity pinned to that release. Conversely, final releases may trigger immediate\ndeployment to unpinned devices (subject to a device's polling period) and, for\nthis reason, final releases cannot be changed back to draft status.",
|
|
4023
4023
|
"examples": [
|
|
4024
|
-
"$ balena release
|
|
4025
|
-
"$ balena release
|
|
4026
|
-
"$ balena release-asset delete 1234567 --key old-asset --yes"
|
|
4024
|
+
"$ balena release finalize a777f7345fe3d655c1c981aa642e5555",
|
|
4025
|
+
"$ balena release finalize 1234567"
|
|
4027
4026
|
],
|
|
4028
|
-
"flags": {
|
|
4029
|
-
"key": {
|
|
4030
|
-
"description": "the key of the release asset to delete",
|
|
4031
|
-
"name": "key",
|
|
4032
|
-
"required": true,
|
|
4033
|
-
"hasDynamicHelp": false,
|
|
4034
|
-
"multiple": false,
|
|
4035
|
-
"type": "option"
|
|
4036
|
-
},
|
|
4037
|
-
"yes": {
|
|
4038
|
-
"char": "y",
|
|
4039
|
-
"description": "skip confirmation prompt",
|
|
4040
|
-
"name": "yes",
|
|
4041
|
-
"allowNo": false,
|
|
4042
|
-
"type": "boolean"
|
|
4043
|
-
}
|
|
4044
|
-
},
|
|
4027
|
+
"flags": {},
|
|
4045
4028
|
"hasDynamicHelp": false,
|
|
4046
4029
|
"hiddenAliases": [],
|
|
4047
|
-
"id": "release
|
|
4030
|
+
"id": "release:finalize",
|
|
4048
4031
|
"pluginAlias": "balena-cli",
|
|
4049
4032
|
"pluginName": "balena-cli",
|
|
4050
4033
|
"pluginType": "core",
|
|
@@ -4055,194 +4038,146 @@
|
|
|
4055
4038
|
"relativePath": [
|
|
4056
4039
|
"build",
|
|
4057
4040
|
"commands",
|
|
4058
|
-
"release
|
|
4059
|
-
"
|
|
4041
|
+
"release",
|
|
4042
|
+
"finalize.js"
|
|
4060
4043
|
]
|
|
4061
4044
|
},
|
|
4062
|
-
"release
|
|
4045
|
+
"release": {
|
|
4063
4046
|
"aliases": [],
|
|
4064
4047
|
"args": {
|
|
4065
4048
|
"commitOrId": {
|
|
4066
|
-
"description": "the commit or ID of the release",
|
|
4049
|
+
"description": "the commit or ID of the release to get information",
|
|
4067
4050
|
"name": "commitOrId",
|
|
4068
4051
|
"required": true
|
|
4069
4052
|
}
|
|
4070
4053
|
},
|
|
4071
|
-
"description": "
|
|
4054
|
+
"description": "Get info for a release.",
|
|
4072
4055
|
"examples": [
|
|
4073
|
-
"$ balena release
|
|
4074
|
-
"$ balena release
|
|
4075
|
-
"$ balena release-asset download 1234567 --key large-file.bin -o output.bin",
|
|
4076
|
-
"$ balena release-asset download 1234567 --key config.json --overwrite"
|
|
4056
|
+
"$ balena release a777f7345fe3d655c1c981aa642e5555",
|
|
4057
|
+
"$ balena release 1234567"
|
|
4077
4058
|
],
|
|
4078
4059
|
"flags": {
|
|
4079
|
-
"
|
|
4080
|
-
"description": "
|
|
4081
|
-
"
|
|
4082
|
-
"
|
|
4083
|
-
"
|
|
4084
|
-
"
|
|
4085
|
-
"type": "option"
|
|
4086
|
-
},
|
|
4087
|
-
"output": {
|
|
4088
|
-
"char": "o",
|
|
4089
|
-
"description": "output path for the downloaded file",
|
|
4090
|
-
"name": "output",
|
|
4091
|
-
"hasDynamicHelp": false,
|
|
4092
|
-
"multiple": false,
|
|
4093
|
-
"type": "option"
|
|
4060
|
+
"json": {
|
|
4061
|
+
"description": "Format output as json.",
|
|
4062
|
+
"helpGroup": "GLOBAL",
|
|
4063
|
+
"name": "json",
|
|
4064
|
+
"allowNo": false,
|
|
4065
|
+
"type": "boolean"
|
|
4094
4066
|
},
|
|
4095
|
-
"
|
|
4096
|
-
"
|
|
4097
|
-
"
|
|
4067
|
+
"composition": {
|
|
4068
|
+
"char": "c",
|
|
4069
|
+
"description": "Return the release composition",
|
|
4070
|
+
"name": "composition",
|
|
4098
4071
|
"allowNo": false,
|
|
4099
4072
|
"type": "boolean"
|
|
4100
4073
|
}
|
|
4101
4074
|
},
|
|
4102
4075
|
"hasDynamicHelp": false,
|
|
4103
4076
|
"hiddenAliases": [],
|
|
4104
|
-
"id": "release
|
|
4077
|
+
"id": "release",
|
|
4105
4078
|
"pluginAlias": "balena-cli",
|
|
4106
4079
|
"pluginName": "balena-cli",
|
|
4107
4080
|
"pluginType": "core",
|
|
4108
4081
|
"strict": true,
|
|
4109
|
-
"enableJsonFlag":
|
|
4082
|
+
"enableJsonFlag": true,
|
|
4110
4083
|
"authenticated": true,
|
|
4111
4084
|
"isESM": false,
|
|
4112
4085
|
"relativePath": [
|
|
4113
4086
|
"build",
|
|
4114
4087
|
"commands",
|
|
4115
|
-
"release
|
|
4116
|
-
"
|
|
4088
|
+
"release",
|
|
4089
|
+
"index.js"
|
|
4117
4090
|
]
|
|
4118
4091
|
},
|
|
4119
|
-
"release
|
|
4092
|
+
"release:invalidate": {
|
|
4120
4093
|
"aliases": [],
|
|
4121
4094
|
"args": {
|
|
4122
4095
|
"commitOrId": {
|
|
4123
|
-
"description": "the commit or ID of the release",
|
|
4096
|
+
"description": "the commit or ID of the release to invalidate",
|
|
4124
4097
|
"name": "commitOrId",
|
|
4125
4098
|
"required": true
|
|
4126
4099
|
}
|
|
4127
4100
|
},
|
|
4128
|
-
"description": "
|
|
4101
|
+
"description": "Invalidate a release.\n\nInvalidate a release.\n\nInvalid releases are not automatically deployed to devices tracking the latest\nrelease. For an invalid release to be deployed to a device, the device should be\nexplicity pinned to that release.",
|
|
4129
4102
|
"examples": [
|
|
4130
|
-
"$ balena release
|
|
4131
|
-
"$ balena release
|
|
4103
|
+
"$ balena release invalidate a777f7345fe3d655c1c981aa642e5555",
|
|
4104
|
+
"$ balena release invalidate 1234567"
|
|
4132
4105
|
],
|
|
4133
|
-
"flags": {
|
|
4134
|
-
"json": {
|
|
4135
|
-
"description": "Format output as json.",
|
|
4136
|
-
"helpGroup": "GLOBAL",
|
|
4137
|
-
"name": "json",
|
|
4138
|
-
"allowNo": false,
|
|
4139
|
-
"type": "boolean"
|
|
4140
|
-
}
|
|
4141
|
-
},
|
|
4106
|
+
"flags": {},
|
|
4142
4107
|
"hasDynamicHelp": false,
|
|
4143
4108
|
"hiddenAliases": [],
|
|
4144
|
-
"id": "release
|
|
4109
|
+
"id": "release:invalidate",
|
|
4145
4110
|
"pluginAlias": "balena-cli",
|
|
4146
4111
|
"pluginName": "balena-cli",
|
|
4147
4112
|
"pluginType": "core",
|
|
4148
4113
|
"strict": true,
|
|
4149
|
-
"enableJsonFlag":
|
|
4114
|
+
"enableJsonFlag": false,
|
|
4150
4115
|
"authenticated": true,
|
|
4151
4116
|
"isESM": false,
|
|
4152
4117
|
"relativePath": [
|
|
4153
4118
|
"build",
|
|
4154
4119
|
"commands",
|
|
4155
|
-
"release
|
|
4156
|
-
"
|
|
4120
|
+
"release",
|
|
4121
|
+
"invalidate.js"
|
|
4157
4122
|
]
|
|
4158
4123
|
},
|
|
4159
|
-
"release
|
|
4124
|
+
"release:list": {
|
|
4160
4125
|
"aliases": [],
|
|
4161
4126
|
"args": {
|
|
4162
|
-
"
|
|
4163
|
-
"description": "
|
|
4164
|
-
"name": "
|
|
4165
|
-
"required": true
|
|
4166
|
-
},
|
|
4167
|
-
"filePath": {
|
|
4168
|
-
"description": "path to the file to upload",
|
|
4169
|
-
"name": "filePath",
|
|
4127
|
+
"fleet": {
|
|
4128
|
+
"description": "fleet name or slug (preferred)",
|
|
4129
|
+
"name": "fleet",
|
|
4170
4130
|
"required": true
|
|
4171
4131
|
}
|
|
4172
4132
|
},
|
|
4173
|
-
"description": "
|
|
4133
|
+
"description": "List all releases of a fleet.\n\nList all releases of the given fleet.\n\nFleets may be specified by fleet name or slug. Slugs are recommended because\nthey are unique and unambiguous. Slugs can be listed with the `balena fleet list`\ncommand. Note that slugs may change if the fleet is renamed. Fleet names are\nnot unique and may result in \"Fleet is ambiguous\" errors at any time (even if\n\"it used to work in the past\"), for example if the name clashes with a newly\ncreated public/open fleet, or with fleets from other balena accounts that you\nmay be invited to join under any role. For this reason, fleet names are\nespecially discouraged in scripts (e.g. CI environments).",
|
|
4174
4134
|
"examples": [
|
|
4175
|
-
"$ balena release
|
|
4176
|
-
"$ balena release-asset upload a777f7345fe3d655c1c981aa642e5555 ./app.tar.gz --key app.tar.gz --overwrite",
|
|
4177
|
-
"$ balena release-asset upload 1234567 ./file.bin --key large-file.bin --chunk-size 10485760 --parallel-chunks 10"
|
|
4135
|
+
"$ balena release list myorg/myfleet"
|
|
4178
4136
|
],
|
|
4179
4137
|
"flags": {
|
|
4180
|
-
"
|
|
4181
|
-
"description": "
|
|
4182
|
-
"
|
|
4183
|
-
"
|
|
4184
|
-
"hasDynamicHelp": false,
|
|
4185
|
-
"multiple": false,
|
|
4186
|
-
"type": "option"
|
|
4187
|
-
},
|
|
4188
|
-
"overwrite": {
|
|
4189
|
-
"description": "overwrite the asset if it already exists",
|
|
4190
|
-
"name": "overwrite",
|
|
4138
|
+
"json": {
|
|
4139
|
+
"description": "Format output as json.",
|
|
4140
|
+
"helpGroup": "GLOBAL",
|
|
4141
|
+
"name": "json",
|
|
4191
4142
|
"allowNo": false,
|
|
4192
4143
|
"type": "boolean"
|
|
4193
|
-
},
|
|
4194
|
-
"chunk-size": {
|
|
4195
|
-
"description": "chunk size in bytes for multipart upload (minimum 5MB)",
|
|
4196
|
-
"name": "chunk-size",
|
|
4197
|
-
"default": 5242880,
|
|
4198
|
-
"hasDynamicHelp": false,
|
|
4199
|
-
"multiple": false,
|
|
4200
|
-
"type": "option"
|
|
4201
|
-
},
|
|
4202
|
-
"parallel-chunks": {
|
|
4203
|
-
"description": "number of chunks to upload in parallel",
|
|
4204
|
-
"name": "parallel-chunks",
|
|
4205
|
-
"default": 5,
|
|
4206
|
-
"hasDynamicHelp": false,
|
|
4207
|
-
"multiple": false,
|
|
4208
|
-
"type": "option"
|
|
4209
4144
|
}
|
|
4210
4145
|
},
|
|
4211
4146
|
"hasDynamicHelp": false,
|
|
4212
4147
|
"hiddenAliases": [],
|
|
4213
|
-
"id": "release
|
|
4148
|
+
"id": "release:list",
|
|
4214
4149
|
"pluginAlias": "balena-cli",
|
|
4215
4150
|
"pluginName": "balena-cli",
|
|
4216
4151
|
"pluginType": "core",
|
|
4217
4152
|
"strict": true,
|
|
4218
|
-
"enableJsonFlag":
|
|
4153
|
+
"enableJsonFlag": true,
|
|
4219
4154
|
"authenticated": true,
|
|
4220
4155
|
"isESM": false,
|
|
4221
4156
|
"relativePath": [
|
|
4222
4157
|
"build",
|
|
4223
4158
|
"commands",
|
|
4224
|
-
"release
|
|
4225
|
-
"
|
|
4159
|
+
"release",
|
|
4160
|
+
"list.js"
|
|
4226
4161
|
]
|
|
4227
4162
|
},
|
|
4228
|
-
"release:
|
|
4163
|
+
"release:validate": {
|
|
4229
4164
|
"aliases": [],
|
|
4230
4165
|
"args": {
|
|
4231
4166
|
"commitOrId": {
|
|
4232
|
-
"description": "the commit or ID of the release to
|
|
4167
|
+
"description": "the commit or ID of the release to validate",
|
|
4233
4168
|
"name": "commitOrId",
|
|
4234
4169
|
"required": true
|
|
4235
4170
|
}
|
|
4236
4171
|
},
|
|
4237
|
-
"description": "
|
|
4172
|
+
"description": "Validate a release.\n\nValidate a release.\n\nValid releases are automatically deployed to devices tracking the latest\nrelease if they are finalized.",
|
|
4238
4173
|
"examples": [
|
|
4239
|
-
"$ balena release
|
|
4240
|
-
"$ balena release
|
|
4174
|
+
"$ balena release validate a777f7345fe3d655c1c981aa642e5555",
|
|
4175
|
+
"$ balena release validate 1234567"
|
|
4241
4176
|
],
|
|
4242
4177
|
"flags": {},
|
|
4243
4178
|
"hasDynamicHelp": false,
|
|
4244
4179
|
"hiddenAliases": [],
|
|
4245
|
-
"id": "release:
|
|
4180
|
+
"id": "release:validate",
|
|
4246
4181
|
"pluginAlias": "balena-cli",
|
|
4247
4182
|
"pluginName": "balena-cli",
|
|
4248
4183
|
"pluginType": "core",
|
|
@@ -4254,74 +4189,101 @@
|
|
|
4254
4189
|
"build",
|
|
4255
4190
|
"commands",
|
|
4256
4191
|
"release",
|
|
4257
|
-
"
|
|
4192
|
+
"validate.js"
|
|
4258
4193
|
]
|
|
4259
4194
|
},
|
|
4260
|
-
"release": {
|
|
4195
|
+
"release-asset:delete": {
|
|
4261
4196
|
"aliases": [],
|
|
4262
4197
|
"args": {
|
|
4263
4198
|
"commitOrId": {
|
|
4264
|
-
"description": "the commit or ID of the release
|
|
4199
|
+
"description": "the commit or ID of the release",
|
|
4265
4200
|
"name": "commitOrId",
|
|
4266
4201
|
"required": true
|
|
4267
4202
|
}
|
|
4268
4203
|
},
|
|
4269
|
-
"description": "
|
|
4204
|
+
"description": "Delete a release asset.\n\nDelete a release asset with the specified key. This action cannot be undone.",
|
|
4270
4205
|
"examples": [
|
|
4271
|
-
"$ balena release
|
|
4272
|
-
"$ balena release
|
|
4206
|
+
"$ balena release-asset delete 1234567 --key config.json",
|
|
4207
|
+
"$ balena release-asset delete a777f7345fe3d655c1c981aa642e5555 --key app.tar.gz",
|
|
4208
|
+
"$ balena release-asset delete 1234567 --key old-asset --yes"
|
|
4273
4209
|
],
|
|
4274
4210
|
"flags": {
|
|
4275
|
-
"
|
|
4276
|
-
"description": "
|
|
4277
|
-
"
|
|
4278
|
-
"
|
|
4279
|
-
"
|
|
4280
|
-
"
|
|
4211
|
+
"key": {
|
|
4212
|
+
"description": "the key of the release asset to delete",
|
|
4213
|
+
"name": "key",
|
|
4214
|
+
"required": true,
|
|
4215
|
+
"hasDynamicHelp": false,
|
|
4216
|
+
"multiple": false,
|
|
4217
|
+
"type": "option"
|
|
4281
4218
|
},
|
|
4282
|
-
"
|
|
4283
|
-
"char": "
|
|
4284
|
-
"description": "
|
|
4285
|
-
"name": "
|
|
4219
|
+
"yes": {
|
|
4220
|
+
"char": "y",
|
|
4221
|
+
"description": "skip confirmation prompt",
|
|
4222
|
+
"name": "yes",
|
|
4286
4223
|
"allowNo": false,
|
|
4287
4224
|
"type": "boolean"
|
|
4288
4225
|
}
|
|
4289
4226
|
},
|
|
4290
4227
|
"hasDynamicHelp": false,
|
|
4291
4228
|
"hiddenAliases": [],
|
|
4292
|
-
"id": "release",
|
|
4229
|
+
"id": "release-asset:delete",
|
|
4293
4230
|
"pluginAlias": "balena-cli",
|
|
4294
4231
|
"pluginName": "balena-cli",
|
|
4295
4232
|
"pluginType": "core",
|
|
4296
4233
|
"strict": true,
|
|
4297
|
-
"enableJsonFlag":
|
|
4234
|
+
"enableJsonFlag": false,
|
|
4298
4235
|
"authenticated": true,
|
|
4299
4236
|
"isESM": false,
|
|
4300
4237
|
"relativePath": [
|
|
4301
4238
|
"build",
|
|
4302
4239
|
"commands",
|
|
4303
|
-
"release",
|
|
4304
|
-
"
|
|
4240
|
+
"release-asset",
|
|
4241
|
+
"delete.js"
|
|
4305
4242
|
]
|
|
4306
4243
|
},
|
|
4307
|
-
"release:
|
|
4244
|
+
"release-asset:download": {
|
|
4308
4245
|
"aliases": [],
|
|
4309
4246
|
"args": {
|
|
4310
4247
|
"commitOrId": {
|
|
4311
|
-
"description": "the commit or ID of the release
|
|
4248
|
+
"description": "the commit or ID of the release",
|
|
4312
4249
|
"name": "commitOrId",
|
|
4313
4250
|
"required": true
|
|
4314
4251
|
}
|
|
4315
4252
|
},
|
|
4316
|
-
"description": "
|
|
4253
|
+
"description": "Download a release asset.\n\nDownload a release asset with the specified key. By default, the file will be saved\nwith the original filename. Use the --output flag to specify a different output path.\n\nIf the output file already exists, the command will prompt for confirmation before\noverwriting, unless the --overwrite flag is specified.",
|
|
4317
4254
|
"examples": [
|
|
4318
|
-
"$ balena release
|
|
4319
|
-
"$ balena release
|
|
4255
|
+
"$ balena release-asset download 1234567 --key config.json",
|
|
4256
|
+
"$ balena release-asset download a777f7345fe3d655c1c981aa642e5555 --key app.tar.gz --output ./downloads/app.tar.gz",
|
|
4257
|
+
"$ balena release-asset download 1234567 --key large-file.bin -o output.bin",
|
|
4258
|
+
"$ balena release-asset download 1234567 --key config.json --overwrite"
|
|
4320
4259
|
],
|
|
4321
|
-
"flags": {
|
|
4260
|
+
"flags": {
|
|
4261
|
+
"key": {
|
|
4262
|
+
"description": "the key of the release asset to download",
|
|
4263
|
+
"name": "key",
|
|
4264
|
+
"required": true,
|
|
4265
|
+
"hasDynamicHelp": false,
|
|
4266
|
+
"multiple": false,
|
|
4267
|
+
"type": "option"
|
|
4268
|
+
},
|
|
4269
|
+
"output": {
|
|
4270
|
+
"char": "o",
|
|
4271
|
+
"description": "output path for the downloaded file",
|
|
4272
|
+
"name": "output",
|
|
4273
|
+
"hasDynamicHelp": false,
|
|
4274
|
+
"multiple": false,
|
|
4275
|
+
"type": "option"
|
|
4276
|
+
},
|
|
4277
|
+
"overwrite": {
|
|
4278
|
+
"description": "overwrite existing file without confirmation",
|
|
4279
|
+
"name": "overwrite",
|
|
4280
|
+
"allowNo": false,
|
|
4281
|
+
"type": "boolean"
|
|
4282
|
+
}
|
|
4283
|
+
},
|
|
4322
4284
|
"hasDynamicHelp": false,
|
|
4323
4285
|
"hiddenAliases": [],
|
|
4324
|
-
"id": "release:
|
|
4286
|
+
"id": "release-asset:download",
|
|
4325
4287
|
"pluginAlias": "balena-cli",
|
|
4326
4288
|
"pluginName": "balena-cli",
|
|
4327
4289
|
"pluginType": "core",
|
|
@@ -4332,22 +4294,23 @@
|
|
|
4332
4294
|
"relativePath": [
|
|
4333
4295
|
"build",
|
|
4334
4296
|
"commands",
|
|
4335
|
-
"release",
|
|
4336
|
-
"
|
|
4297
|
+
"release-asset",
|
|
4298
|
+
"download.js"
|
|
4337
4299
|
]
|
|
4338
4300
|
},
|
|
4339
|
-
"release:list": {
|
|
4301
|
+
"release-asset:list": {
|
|
4340
4302
|
"aliases": [],
|
|
4341
4303
|
"args": {
|
|
4342
|
-
"
|
|
4343
|
-
"description": "
|
|
4344
|
-
"name": "
|
|
4304
|
+
"commitOrId": {
|
|
4305
|
+
"description": "the commit or ID of the release",
|
|
4306
|
+
"name": "commitOrId",
|
|
4345
4307
|
"required": true
|
|
4346
4308
|
}
|
|
4347
4309
|
},
|
|
4348
|
-
"description": "List all
|
|
4310
|
+
"description": "List all release assets.\n\nList all assets for a specific release.",
|
|
4349
4311
|
"examples": [
|
|
4350
|
-
"$ balena release list
|
|
4312
|
+
"$ balena release-asset list 1234567",
|
|
4313
|
+
"$ balena release-asset list a777f7345fe3d655c1c981aa642e5555"
|
|
4351
4314
|
],
|
|
4352
4315
|
"flags": {
|
|
4353
4316
|
"json": {
|
|
@@ -4360,7 +4323,7 @@
|
|
|
4360
4323
|
},
|
|
4361
4324
|
"hasDynamicHelp": false,
|
|
4362
4325
|
"hiddenAliases": [],
|
|
4363
|
-
"id": "release:list",
|
|
4326
|
+
"id": "release-asset:list",
|
|
4364
4327
|
"pluginAlias": "balena-cli",
|
|
4365
4328
|
"pluginName": "balena-cli",
|
|
4366
4329
|
"pluginType": "core",
|
|
@@ -4371,28 +4334,65 @@
|
|
|
4371
4334
|
"relativePath": [
|
|
4372
4335
|
"build",
|
|
4373
4336
|
"commands",
|
|
4374
|
-
"release",
|
|
4337
|
+
"release-asset",
|
|
4375
4338
|
"list.js"
|
|
4376
4339
|
]
|
|
4377
4340
|
},
|
|
4378
|
-
"release:
|
|
4341
|
+
"release-asset:upload": {
|
|
4379
4342
|
"aliases": [],
|
|
4380
4343
|
"args": {
|
|
4381
4344
|
"commitOrId": {
|
|
4382
|
-
"description": "the commit or ID of the release
|
|
4345
|
+
"description": "the commit or ID of the release",
|
|
4383
4346
|
"name": "commitOrId",
|
|
4384
4347
|
"required": true
|
|
4348
|
+
},
|
|
4349
|
+
"filePath": {
|
|
4350
|
+
"description": "path to the file to upload",
|
|
4351
|
+
"name": "filePath",
|
|
4352
|
+
"required": true
|
|
4385
4353
|
}
|
|
4386
4354
|
},
|
|
4387
|
-
"description": "
|
|
4355
|
+
"description": "Upload a release asset.\n\nUpload a file as a release asset with the specified key. If the asset already exists,\nyou can use the --overwrite flag to replace it. You can customize the upload behavior with\n--chunk-size and --parallel-chunks options for larger files.",
|
|
4388
4356
|
"examples": [
|
|
4389
|
-
"$ balena release
|
|
4390
|
-
"$ balena release
|
|
4357
|
+
"$ balena release-asset upload 1234567 ./path/to/config.json --key config.json",
|
|
4358
|
+
"$ balena release-asset upload a777f7345fe3d655c1c981aa642e5555 ./app.tar.gz --key app.tar.gz --overwrite",
|
|
4359
|
+
"$ balena release-asset upload 1234567 ./file.bin --key large-file.bin --chunk-size 10485760 --parallel-chunks 10"
|
|
4391
4360
|
],
|
|
4392
|
-
"flags": {
|
|
4361
|
+
"flags": {
|
|
4362
|
+
"key": {
|
|
4363
|
+
"description": "the key for the release asset",
|
|
4364
|
+
"name": "key",
|
|
4365
|
+
"required": true,
|
|
4366
|
+
"hasDynamicHelp": false,
|
|
4367
|
+
"multiple": false,
|
|
4368
|
+
"type": "option"
|
|
4369
|
+
},
|
|
4370
|
+
"overwrite": {
|
|
4371
|
+
"description": "overwrite the asset if it already exists",
|
|
4372
|
+
"name": "overwrite",
|
|
4373
|
+
"allowNo": false,
|
|
4374
|
+
"type": "boolean"
|
|
4375
|
+
},
|
|
4376
|
+
"chunk-size": {
|
|
4377
|
+
"description": "chunk size in bytes for multipart upload (minimum 5MB)",
|
|
4378
|
+
"name": "chunk-size",
|
|
4379
|
+
"default": 5242880,
|
|
4380
|
+
"hasDynamicHelp": false,
|
|
4381
|
+
"multiple": false,
|
|
4382
|
+
"type": "option"
|
|
4383
|
+
},
|
|
4384
|
+
"parallel-chunks": {
|
|
4385
|
+
"description": "number of chunks to upload in parallel",
|
|
4386
|
+
"name": "parallel-chunks",
|
|
4387
|
+
"default": 5,
|
|
4388
|
+
"hasDynamicHelp": false,
|
|
4389
|
+
"multiple": false,
|
|
4390
|
+
"type": "option"
|
|
4391
|
+
}
|
|
4392
|
+
},
|
|
4393
4393
|
"hasDynamicHelp": false,
|
|
4394
4394
|
"hiddenAliases": [],
|
|
4395
|
-
"id": "release:
|
|
4395
|
+
"id": "release-asset:upload",
|
|
4396
4396
|
"pluginAlias": "balena-cli",
|
|
4397
4397
|
"pluginName": "balena-cli",
|
|
4398
4398
|
"pluginType": "core",
|
|
@@ -4403,8 +4403,8 @@
|
|
|
4403
4403
|
"relativePath": [
|
|
4404
4404
|
"build",
|
|
4405
4405
|
"commands",
|
|
4406
|
-
"release",
|
|
4407
|
-
"
|
|
4406
|
+
"release-asset",
|
|
4407
|
+
"upload.js"
|
|
4408
4408
|
]
|
|
4409
4409
|
},
|
|
4410
4410
|
"settings": {
|
|
@@ -4895,5 +4895,5 @@
|
|
|
4895
4895
|
]
|
|
4896
4896
|
}
|
|
4897
4897
|
},
|
|
4898
|
-
"version": "25.2.
|
|
4898
|
+
"version": "25.2.1"
|
|
4899
4899
|
}
|