balena-cli 23.2.9-build-kyle-dedupe-only-587aec396db5b1a1f89281bd294724f526e322f7-1 → 23.2.9
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/npm-shrinkwrap.json +2 -2
- package/oclif.manifest.json +300 -300
- package/package.json +2 -2
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "balena-cli",
|
|
3
|
-
"version": "23.2.9
|
|
3
|
+
"version": "23.2.9",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "balena-cli",
|
|
9
|
-
"version": "23.2.9
|
|
9
|
+
"version": "23.2.9",
|
|
10
10
|
"hasInstallScript": true,
|
|
11
11
|
"license": "Apache-2.0",
|
|
12
12
|
"dependencies": {
|
package/oclif.manifest.json
CHANGED
|
@@ -160,6 +160,56 @@
|
|
|
160
160
|
"create.js"
|
|
161
161
|
]
|
|
162
162
|
},
|
|
163
|
+
"block:create": {
|
|
164
|
+
"aliases": [],
|
|
165
|
+
"args": {
|
|
166
|
+
"name": {
|
|
167
|
+
"description": "block name",
|
|
168
|
+
"name": "name",
|
|
169
|
+
"required": true
|
|
170
|
+
}
|
|
171
|
+
},
|
|
172
|
+
"description": "Create an block.\n\nCreate a new balena block.\n\nYou can specify the organization the block should belong to using\nthe `--organization` option. The organization's handle, not its name,\nshould be provided. Organization handles can be listed with the\n`balena organization list` command.\n\nThe block's default device type is specified with the `--type` option.\nThe `balena device-type list` command can be used to list the available\ndevice types.\n\nInteractive dropdowns will be shown for selection if no device type or\norganization is specified and there are multiple options to choose from.\nIf there is a single option to choose from, it will be chosen automatically.\nThis interactive behavior can be disabled by explicitly specifying a device\ntype and organization.",
|
|
173
|
+
"examples": [
|
|
174
|
+
"$ balena block create MyBlock",
|
|
175
|
+
"$ balena block create MyBlock --organization mmyorg",
|
|
176
|
+
"$ balena block create MyBlock -o myorg --type raspberry-pi"
|
|
177
|
+
],
|
|
178
|
+
"flags": {
|
|
179
|
+
"organization": {
|
|
180
|
+
"char": "o",
|
|
181
|
+
"description": "handle of the organization the block should belong to",
|
|
182
|
+
"name": "organization",
|
|
183
|
+
"hasDynamicHelp": false,
|
|
184
|
+
"multiple": false,
|
|
185
|
+
"type": "option"
|
|
186
|
+
},
|
|
187
|
+
"type": {
|
|
188
|
+
"char": "t",
|
|
189
|
+
"description": "block device type (Check available types with `balena device-type list`)",
|
|
190
|
+
"name": "type",
|
|
191
|
+
"hasDynamicHelp": false,
|
|
192
|
+
"multiple": false,
|
|
193
|
+
"type": "option"
|
|
194
|
+
}
|
|
195
|
+
},
|
|
196
|
+
"hasDynamicHelp": false,
|
|
197
|
+
"hiddenAliases": [],
|
|
198
|
+
"id": "block:create",
|
|
199
|
+
"pluginAlias": "balena-cli",
|
|
200
|
+
"pluginName": "balena-cli",
|
|
201
|
+
"pluginType": "core",
|
|
202
|
+
"strict": true,
|
|
203
|
+
"enableJsonFlag": false,
|
|
204
|
+
"authenticated": true,
|
|
205
|
+
"isESM": false,
|
|
206
|
+
"relativePath": [
|
|
207
|
+
"build",
|
|
208
|
+
"commands",
|
|
209
|
+
"block",
|
|
210
|
+
"create.js"
|
|
211
|
+
]
|
|
212
|
+
},
|
|
163
213
|
"build": {
|
|
164
214
|
"aliases": [],
|
|
165
215
|
"args": {
|
|
@@ -362,56 +412,6 @@
|
|
|
362
412
|
"index.js"
|
|
363
413
|
]
|
|
364
414
|
},
|
|
365
|
-
"block:create": {
|
|
366
|
-
"aliases": [],
|
|
367
|
-
"args": {
|
|
368
|
-
"name": {
|
|
369
|
-
"description": "block name",
|
|
370
|
-
"name": "name",
|
|
371
|
-
"required": true
|
|
372
|
-
}
|
|
373
|
-
},
|
|
374
|
-
"description": "Create an block.\n\nCreate a new balena block.\n\nYou can specify the organization the block should belong to using\nthe `--organization` option. The organization's handle, not its name,\nshould be provided. Organization handles can be listed with the\n`balena organization list` command.\n\nThe block's default device type is specified with the `--type` option.\nThe `balena device-type list` command can be used to list the available\ndevice types.\n\nInteractive dropdowns will be shown for selection if no device type or\norganization is specified and there are multiple options to choose from.\nIf there is a single option to choose from, it will be chosen automatically.\nThis interactive behavior can be disabled by explicitly specifying a device\ntype and organization.",
|
|
375
|
-
"examples": [
|
|
376
|
-
"$ balena block create MyBlock",
|
|
377
|
-
"$ balena block create MyBlock --organization mmyorg",
|
|
378
|
-
"$ balena block create MyBlock -o myorg --type raspberry-pi"
|
|
379
|
-
],
|
|
380
|
-
"flags": {
|
|
381
|
-
"organization": {
|
|
382
|
-
"char": "o",
|
|
383
|
-
"description": "handle of the organization the block should belong to",
|
|
384
|
-
"name": "organization",
|
|
385
|
-
"hasDynamicHelp": false,
|
|
386
|
-
"multiple": false,
|
|
387
|
-
"type": "option"
|
|
388
|
-
},
|
|
389
|
-
"type": {
|
|
390
|
-
"char": "t",
|
|
391
|
-
"description": "block device type (Check available types with `balena device-type list`)",
|
|
392
|
-
"name": "type",
|
|
393
|
-
"hasDynamicHelp": false,
|
|
394
|
-
"multiple": false,
|
|
395
|
-
"type": "option"
|
|
396
|
-
}
|
|
397
|
-
},
|
|
398
|
-
"hasDynamicHelp": false,
|
|
399
|
-
"hiddenAliases": [],
|
|
400
|
-
"id": "block:create",
|
|
401
|
-
"pluginAlias": "balena-cli",
|
|
402
|
-
"pluginName": "balena-cli",
|
|
403
|
-
"pluginType": "core",
|
|
404
|
-
"strict": true,
|
|
405
|
-
"enableJsonFlag": false,
|
|
406
|
-
"authenticated": true,
|
|
407
|
-
"isESM": false,
|
|
408
|
-
"relativePath": [
|
|
409
|
-
"build",
|
|
410
|
-
"commands",
|
|
411
|
-
"block",
|
|
412
|
-
"create.js"
|
|
413
|
-
]
|
|
414
|
-
},
|
|
415
415
|
"config:generate": {
|
|
416
416
|
"aliases": [],
|
|
417
417
|
"args": {},
|
|
@@ -709,253 +709,30 @@
|
|
|
709
709
|
]
|
|
710
710
|
},
|
|
711
711
|
"config:write": {
|
|
712
|
-
"aliases": [],
|
|
713
|
-
"args": {
|
|
714
|
-
"key": {
|
|
715
|
-
"description": "the key of the config parameter to write",
|
|
716
|
-
"name": "key",
|
|
717
|
-
"required": true
|
|
718
|
-
},
|
|
719
|
-
"value": {
|
|
720
|
-
"description": "the value of the config parameter to write",
|
|
721
|
-
"name": "value",
|
|
722
|
-
"required": true
|
|
723
|
-
}
|
|
724
|
-
},
|
|
725
|
-
"description": "Write a key-value pair to the config.json file of an OS image or attached media.\n\nWrite a key-value pair to the 'config.json' file of a balenaOS image file or\nattached SD card or USB stick.\n\nDocumentation for the balenaOS 'config.json' file can be found at:\nhttps://www.balena.io/docs/reference/OS/configuration/",
|
|
726
|
-
"examples": [
|
|
727
|
-
"$ balena config write ntpServers \"0.resinio.pool.ntp.org 1.resinio.pool.ntp.org\"",
|
|
728
|
-
"$ balena config write --drive /dev/disk2 hostname custom-hostname",
|
|
729
|
-
"$ balena config write --drive balena.img os.network.connectivity.interval 300"
|
|
730
|
-
],
|
|
731
|
-
"flags": {
|
|
732
|
-
"drive": {
|
|
733
|
-
"char": "d",
|
|
734
|
-
"description": "path to OS image file (e.g. balena.img) or block device (e.g. /dev/disk2)",
|
|
735
|
-
"name": "drive",
|
|
736
|
-
"hasDynamicHelp": false,
|
|
737
|
-
"multiple": false,
|
|
738
|
-
"type": "option"
|
|
739
|
-
}
|
|
740
|
-
},
|
|
741
|
-
"hasDynamicHelp": false,
|
|
742
|
-
"hiddenAliases": [],
|
|
743
|
-
"id": "config:write",
|
|
744
|
-
"pluginAlias": "balena-cli",
|
|
745
|
-
"pluginName": "balena-cli",
|
|
746
|
-
"pluginType": "core",
|
|
747
|
-
"strict": true,
|
|
748
|
-
"enableJsonFlag": false,
|
|
749
|
-
"root": true,
|
|
750
|
-
"offlineCompatible": true,
|
|
751
|
-
"isESM": false,
|
|
752
|
-
"relativePath": [
|
|
753
|
-
"build",
|
|
754
|
-
"commands",
|
|
755
|
-
"config",
|
|
756
|
-
"write.js"
|
|
757
|
-
]
|
|
758
|
-
},
|
|
759
|
-
"deploy": {
|
|
760
|
-
"aliases": [],
|
|
761
|
-
"args": {
|
|
762
|
-
"fleet": {
|
|
763
|
-
"description": "fleet name or slug (preferred)",
|
|
764
|
-
"name": "fleet",
|
|
765
|
-
"required": true
|
|
766
|
-
},
|
|
767
|
-
"image": {
|
|
768
|
-
"description": "the image to deploy",
|
|
769
|
-
"name": "image"
|
|
770
|
-
}
|
|
771
|
-
},
|
|
772
|
-
"description": "Deploy a single image or a multicontainer project to a balena fleet.\n\nUsage: `deploy <fleet> ([image] | --build [--source build-dir])`\n\nUse this command to deploy an image or a complete multicontainer project to a\nfleet, optionally building it first. The source images are searched for\n(and optionally built) using the docker daemon in your development machine or\nbalena device. (See also the `balena push` command for the option of building\nthe image in the balenaCloud build servers.)\n\nUnless an image is specified, this command will look into the current directory\n(or the one specified by --source) for a docker-compose.yml file. If one is\nfound, this command will deploy each service defined in the compose file,\nbuilding it first if an image for it doesn't exist. Image names will be looked\nup according to the scheme: `<projectName>_<serviceName>`.\n\nIf a compose file isn't found, the command will look for a Dockerfile[.template]\nfile (or alternative Dockerfile specified with the `-f` option), and if yet\nthat isn't found, it will try to generate one.\n\nTo deploy to a fleet where you are a collaborator, use fleet slug including the\norganization: `balena deploy <organization>/<fleet>`.\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",
|
|
773
|
-
"examples": [
|
|
774
|
-
"$ balena deploy myFleet",
|
|
775
|
-
"$ balena deploy myorg/myfleet --build --source myBuildDir/",
|
|
776
|
-
"$ balena deploy myorg/myfleet --build --source myBuildDir/ --note \"this is the note for this release\"",
|
|
777
|
-
"$ balena deploy myorg/myfleet myRepo/myImage",
|
|
778
|
-
"$ balena deploy myFleet myRepo/myImage --release-tag key1 \"\" key2 \"value2 with spaces\""
|
|
779
|
-
],
|
|
780
|
-
"flags": {
|
|
781
|
-
"source": {
|
|
782
|
-
"char": "s",
|
|
783
|
-
"description": "specify an alternate source directory; default is the working directory",
|
|
784
|
-
"name": "source",
|
|
785
|
-
"hasDynamicHelp": false,
|
|
786
|
-
"multiple": false,
|
|
787
|
-
"type": "option"
|
|
788
|
-
},
|
|
789
|
-
"build": {
|
|
790
|
-
"char": "b",
|
|
791
|
-
"description": "force a rebuild before deploy",
|
|
792
|
-
"name": "build",
|
|
793
|
-
"allowNo": false,
|
|
794
|
-
"type": "boolean"
|
|
795
|
-
},
|
|
796
|
-
"nologupload": {
|
|
797
|
-
"description": "don't upload build logs to the dashboard with image (if building)",
|
|
798
|
-
"name": "nologupload",
|
|
799
|
-
"allowNo": false,
|
|
800
|
-
"type": "boolean"
|
|
801
|
-
},
|
|
802
|
-
"release-tag": {
|
|
803
|
-
"description": "Set release tags if the image deployment is successful. Multiple\narguments may be provided, alternating tag keys and values (see examples).\nHint: Empty values may be specified with \"\" (bash, cmd.exe) or '\"\"' (PowerShell).",
|
|
804
|
-
"name": "release-tag",
|
|
805
|
-
"hasDynamicHelp": false,
|
|
806
|
-
"multiple": true,
|
|
807
|
-
"type": "option"
|
|
808
|
-
},
|
|
809
|
-
"draft": {
|
|
810
|
-
"description": "Deploy the release as a draft. Draft releases are ignored\nby the 'track latest' release policy but can be used through release pinning.\nDraft releases can be marked as final through the API. Releases are created\nas final by default unless this option is given.",
|
|
811
|
-
"name": "draft",
|
|
812
|
-
"allowNo": false,
|
|
813
|
-
"type": "boolean"
|
|
814
|
-
},
|
|
815
|
-
"note": {
|
|
816
|
-
"description": "The notes for this release",
|
|
817
|
-
"name": "note",
|
|
818
|
-
"hasDynamicHelp": false,
|
|
819
|
-
"multiple": false,
|
|
820
|
-
"type": "option"
|
|
821
|
-
},
|
|
822
|
-
"emulated": {
|
|
823
|
-
"char": "e",
|
|
824
|
-
"description": "Use QEMU for ARM architecture emulation during the image build",
|
|
825
|
-
"name": "emulated",
|
|
826
|
-
"allowNo": false,
|
|
827
|
-
"type": "boolean"
|
|
828
|
-
},
|
|
829
|
-
"dockerfile": {
|
|
830
|
-
"description": "Alternative Dockerfile name/path, relative to the source folder",
|
|
831
|
-
"name": "dockerfile",
|
|
832
|
-
"hasDynamicHelp": false,
|
|
833
|
-
"multiple": false,
|
|
834
|
-
"type": "option"
|
|
835
|
-
},
|
|
836
|
-
"nologs": {
|
|
837
|
-
"description": "Hide the image build log output (produce less verbose output)",
|
|
838
|
-
"name": "nologs",
|
|
839
|
-
"allowNo": false,
|
|
840
|
-
"type": "boolean"
|
|
841
|
-
},
|
|
842
|
-
"multi-dockerignore": {
|
|
843
|
-
"char": "m",
|
|
844
|
-
"description": "Have each service use its own .dockerignore file. See \"balena help build\".",
|
|
845
|
-
"name": "multi-dockerignore",
|
|
846
|
-
"allowNo": false,
|
|
847
|
-
"type": "boolean"
|
|
848
|
-
},
|
|
849
|
-
"noparent-check": {
|
|
850
|
-
"description": "Disable project validation check of 'docker-compose.yml' file in parent folder",
|
|
851
|
-
"name": "noparent-check",
|
|
852
|
-
"allowNo": false,
|
|
853
|
-
"type": "boolean"
|
|
854
|
-
},
|
|
855
|
-
"registry-secrets": {
|
|
856
|
-
"char": "R",
|
|
857
|
-
"description": "Path to a YAML or JSON file with passwords for a private Docker registry",
|
|
858
|
-
"name": "registry-secrets",
|
|
859
|
-
"hasDynamicHelp": false,
|
|
860
|
-
"multiple": false,
|
|
861
|
-
"type": "option"
|
|
862
|
-
},
|
|
863
|
-
"noconvert-eol": {
|
|
864
|
-
"description": "Don't convert line endings from CRLF (Windows format) to LF (Unix format).",
|
|
865
|
-
"name": "noconvert-eol",
|
|
866
|
-
"allowNo": false,
|
|
867
|
-
"type": "boolean"
|
|
868
|
-
},
|
|
869
|
-
"projectName": {
|
|
870
|
-
"char": "n",
|
|
871
|
-
"description": "Name prefix for locally built images. This is the 'projectName' portion\nin 'projectName_serviceName:tag'. The default is the directory name.",
|
|
872
|
-
"name": "projectName",
|
|
873
|
-
"hasDynamicHelp": false,
|
|
874
|
-
"multiple": false,
|
|
875
|
-
"type": "option"
|
|
876
|
-
},
|
|
877
|
-
"tag": {
|
|
878
|
-
"char": "t",
|
|
879
|
-
"description": "Tag locally built Docker images. This is the 'tag' portion\nin 'projectName_serviceName:tag'. The default is 'latest'.",
|
|
880
|
-
"name": "tag",
|
|
881
|
-
"hasDynamicHelp": false,
|
|
882
|
-
"multiple": false,
|
|
883
|
-
"type": "option"
|
|
884
|
-
},
|
|
885
|
-
"buildArg": {
|
|
886
|
-
"char": "B",
|
|
887
|
-
"description": "[Deprecated] Set a build-time variable (eg. \"-B 'ARG=value'\"). Can be specified multiple times.",
|
|
888
|
-
"name": "buildArg",
|
|
889
|
-
"hasDynamicHelp": false,
|
|
890
|
-
"multiple": true,
|
|
891
|
-
"type": "option"
|
|
892
|
-
},
|
|
893
|
-
"cache-from": {
|
|
894
|
-
"description": "Comma-separated list (no spaces) of image names for build cache resolution. Implements the same feature as the \"docker build --cache-from\" option.",
|
|
895
|
-
"name": "cache-from",
|
|
896
|
-
"hasDynamicHelp": false,
|
|
897
|
-
"multiple": false,
|
|
898
|
-
"type": "option"
|
|
899
|
-
},
|
|
900
|
-
"nocache": {
|
|
901
|
-
"description": "Don't use docker layer caching when building",
|
|
902
|
-
"name": "nocache",
|
|
903
|
-
"allowNo": false,
|
|
904
|
-
"type": "boolean"
|
|
905
|
-
},
|
|
906
|
-
"pull": {
|
|
907
|
-
"description": "Pull the base images again even if they exist locally",
|
|
908
|
-
"name": "pull",
|
|
909
|
-
"allowNo": false,
|
|
910
|
-
"type": "boolean"
|
|
911
|
-
},
|
|
912
|
-
"squash": {
|
|
913
|
-
"description": "Squash newly built layers into a single new layer",
|
|
914
|
-
"name": "squash",
|
|
915
|
-
"allowNo": false,
|
|
916
|
-
"type": "boolean"
|
|
917
|
-
},
|
|
918
|
-
"docker": {
|
|
919
|
-
"char": "P",
|
|
920
|
-
"description": "Path to a local docker socket (e.g. /var/run/docker.sock)",
|
|
921
|
-
"name": "docker",
|
|
922
|
-
"hasDynamicHelp": false,
|
|
923
|
-
"multiple": false,
|
|
924
|
-
"type": "option"
|
|
925
|
-
},
|
|
926
|
-
"dockerHost": {
|
|
927
|
-
"char": "h",
|
|
928
|
-
"description": "Docker daemon hostname or IP address (dev machine or balena device) ",
|
|
929
|
-
"name": "dockerHost",
|
|
930
|
-
"hasDynamicHelp": false,
|
|
931
|
-
"multiple": false,
|
|
932
|
-
"type": "option"
|
|
933
|
-
},
|
|
934
|
-
"dockerPort": {
|
|
935
|
-
"char": "p",
|
|
936
|
-
"description": "Docker daemon TCP port number (hint: 2375 for balena devices)",
|
|
937
|
-
"name": "dockerPort",
|
|
938
|
-
"hasDynamicHelp": false,
|
|
939
|
-
"multiple": false,
|
|
940
|
-
"type": "option"
|
|
941
|
-
},
|
|
942
|
-
"ca": {
|
|
943
|
-
"description": "Docker host TLS certificate authority file",
|
|
944
|
-
"name": "ca",
|
|
945
|
-
"hasDynamicHelp": false,
|
|
946
|
-
"multiple": false,
|
|
947
|
-
"type": "option"
|
|
948
|
-
},
|
|
949
|
-
"cert": {
|
|
950
|
-
"description": "Docker host TLS certificate file",
|
|
951
|
-
"name": "cert",
|
|
952
|
-
"hasDynamicHelp": false,
|
|
953
|
-
"multiple": false,
|
|
954
|
-
"type": "option"
|
|
955
|
-
},
|
|
712
|
+
"aliases": [],
|
|
713
|
+
"args": {
|
|
956
714
|
"key": {
|
|
957
|
-
"description": "
|
|
715
|
+
"description": "the key of the config parameter to write",
|
|
958
716
|
"name": "key",
|
|
717
|
+
"required": true
|
|
718
|
+
},
|
|
719
|
+
"value": {
|
|
720
|
+
"description": "the value of the config parameter to write",
|
|
721
|
+
"name": "value",
|
|
722
|
+
"required": true
|
|
723
|
+
}
|
|
724
|
+
},
|
|
725
|
+
"description": "Write a key-value pair to the config.json file of an OS image or attached media.\n\nWrite a key-value pair to the 'config.json' file of a balenaOS image file or\nattached SD card or USB stick.\n\nDocumentation for the balenaOS 'config.json' file can be found at:\nhttps://www.balena.io/docs/reference/OS/configuration/",
|
|
726
|
+
"examples": [
|
|
727
|
+
"$ balena config write ntpServers \"0.resinio.pool.ntp.org 1.resinio.pool.ntp.org\"",
|
|
728
|
+
"$ balena config write --drive /dev/disk2 hostname custom-hostname",
|
|
729
|
+
"$ balena config write --drive balena.img os.network.connectivity.interval 300"
|
|
730
|
+
],
|
|
731
|
+
"flags": {
|
|
732
|
+
"drive": {
|
|
733
|
+
"char": "d",
|
|
734
|
+
"description": "path to OS image file (e.g. balena.img) or block device (e.g. /dev/disk2)",
|
|
735
|
+
"name": "drive",
|
|
959
736
|
"hasDynamicHelp": false,
|
|
960
737
|
"multiple": false,
|
|
961
738
|
"type": "option"
|
|
@@ -963,20 +740,20 @@
|
|
|
963
740
|
},
|
|
964
741
|
"hasDynamicHelp": false,
|
|
965
742
|
"hiddenAliases": [],
|
|
966
|
-
"id": "
|
|
743
|
+
"id": "config:write",
|
|
967
744
|
"pluginAlias": "balena-cli",
|
|
968
745
|
"pluginName": "balena-cli",
|
|
969
746
|
"pluginType": "core",
|
|
970
747
|
"strict": true,
|
|
971
748
|
"enableJsonFlag": false,
|
|
972
|
-
"
|
|
973
|
-
"
|
|
749
|
+
"root": true,
|
|
750
|
+
"offlineCompatible": true,
|
|
974
751
|
"isESM": false,
|
|
975
752
|
"relativePath": [
|
|
976
753
|
"build",
|
|
977
754
|
"commands",
|
|
978
|
-
"
|
|
979
|
-
"
|
|
755
|
+
"config",
|
|
756
|
+
"write.js"
|
|
980
757
|
]
|
|
981
758
|
},
|
|
982
759
|
"device-type:list": {
|
|
@@ -2537,6 +2314,229 @@
|
|
|
2537
2314
|
"set.js"
|
|
2538
2315
|
]
|
|
2539
2316
|
},
|
|
2317
|
+
"deploy": {
|
|
2318
|
+
"aliases": [],
|
|
2319
|
+
"args": {
|
|
2320
|
+
"fleet": {
|
|
2321
|
+
"description": "fleet name or slug (preferred)",
|
|
2322
|
+
"name": "fleet",
|
|
2323
|
+
"required": true
|
|
2324
|
+
},
|
|
2325
|
+
"image": {
|
|
2326
|
+
"description": "the image to deploy",
|
|
2327
|
+
"name": "image"
|
|
2328
|
+
}
|
|
2329
|
+
},
|
|
2330
|
+
"description": "Deploy a single image or a multicontainer project to a balena fleet.\n\nUsage: `deploy <fleet> ([image] | --build [--source build-dir])`\n\nUse this command to deploy an image or a complete multicontainer project to a\nfleet, optionally building it first. The source images are searched for\n(and optionally built) using the docker daemon in your development machine or\nbalena device. (See also the `balena push` command for the option of building\nthe image in the balenaCloud build servers.)\n\nUnless an image is specified, this command will look into the current directory\n(or the one specified by --source) for a docker-compose.yml file. If one is\nfound, this command will deploy each service defined in the compose file,\nbuilding it first if an image for it doesn't exist. Image names will be looked\nup according to the scheme: `<projectName>_<serviceName>`.\n\nIf a compose file isn't found, the command will look for a Dockerfile[.template]\nfile (or alternative Dockerfile specified with the `-f` option), and if yet\nthat isn't found, it will try to generate one.\n\nTo deploy to a fleet where you are a collaborator, use fleet slug including the\norganization: `balena deploy <organization>/<fleet>`.\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",
|
|
2331
|
+
"examples": [
|
|
2332
|
+
"$ balena deploy myFleet",
|
|
2333
|
+
"$ balena deploy myorg/myfleet --build --source myBuildDir/",
|
|
2334
|
+
"$ balena deploy myorg/myfleet --build --source myBuildDir/ --note \"this is the note for this release\"",
|
|
2335
|
+
"$ balena deploy myorg/myfleet myRepo/myImage",
|
|
2336
|
+
"$ balena deploy myFleet myRepo/myImage --release-tag key1 \"\" key2 \"value2 with spaces\""
|
|
2337
|
+
],
|
|
2338
|
+
"flags": {
|
|
2339
|
+
"source": {
|
|
2340
|
+
"char": "s",
|
|
2341
|
+
"description": "specify an alternate source directory; default is the working directory",
|
|
2342
|
+
"name": "source",
|
|
2343
|
+
"hasDynamicHelp": false,
|
|
2344
|
+
"multiple": false,
|
|
2345
|
+
"type": "option"
|
|
2346
|
+
},
|
|
2347
|
+
"build": {
|
|
2348
|
+
"char": "b",
|
|
2349
|
+
"description": "force a rebuild before deploy",
|
|
2350
|
+
"name": "build",
|
|
2351
|
+
"allowNo": false,
|
|
2352
|
+
"type": "boolean"
|
|
2353
|
+
},
|
|
2354
|
+
"nologupload": {
|
|
2355
|
+
"description": "don't upload build logs to the dashboard with image (if building)",
|
|
2356
|
+
"name": "nologupload",
|
|
2357
|
+
"allowNo": false,
|
|
2358
|
+
"type": "boolean"
|
|
2359
|
+
},
|
|
2360
|
+
"release-tag": {
|
|
2361
|
+
"description": "Set release tags if the image deployment is successful. Multiple\narguments may be provided, alternating tag keys and values (see examples).\nHint: Empty values may be specified with \"\" (bash, cmd.exe) or '\"\"' (PowerShell).",
|
|
2362
|
+
"name": "release-tag",
|
|
2363
|
+
"hasDynamicHelp": false,
|
|
2364
|
+
"multiple": true,
|
|
2365
|
+
"type": "option"
|
|
2366
|
+
},
|
|
2367
|
+
"draft": {
|
|
2368
|
+
"description": "Deploy the release as a draft. Draft releases are ignored\nby the 'track latest' release policy but can be used through release pinning.\nDraft releases can be marked as final through the API. Releases are created\nas final by default unless this option is given.",
|
|
2369
|
+
"name": "draft",
|
|
2370
|
+
"allowNo": false,
|
|
2371
|
+
"type": "boolean"
|
|
2372
|
+
},
|
|
2373
|
+
"note": {
|
|
2374
|
+
"description": "The notes for this release",
|
|
2375
|
+
"name": "note",
|
|
2376
|
+
"hasDynamicHelp": false,
|
|
2377
|
+
"multiple": false,
|
|
2378
|
+
"type": "option"
|
|
2379
|
+
},
|
|
2380
|
+
"emulated": {
|
|
2381
|
+
"char": "e",
|
|
2382
|
+
"description": "Use QEMU for ARM architecture emulation during the image build",
|
|
2383
|
+
"name": "emulated",
|
|
2384
|
+
"allowNo": false,
|
|
2385
|
+
"type": "boolean"
|
|
2386
|
+
},
|
|
2387
|
+
"dockerfile": {
|
|
2388
|
+
"description": "Alternative Dockerfile name/path, relative to the source folder",
|
|
2389
|
+
"name": "dockerfile",
|
|
2390
|
+
"hasDynamicHelp": false,
|
|
2391
|
+
"multiple": false,
|
|
2392
|
+
"type": "option"
|
|
2393
|
+
},
|
|
2394
|
+
"nologs": {
|
|
2395
|
+
"description": "Hide the image build log output (produce less verbose output)",
|
|
2396
|
+
"name": "nologs",
|
|
2397
|
+
"allowNo": false,
|
|
2398
|
+
"type": "boolean"
|
|
2399
|
+
},
|
|
2400
|
+
"multi-dockerignore": {
|
|
2401
|
+
"char": "m",
|
|
2402
|
+
"description": "Have each service use its own .dockerignore file. See \"balena help build\".",
|
|
2403
|
+
"name": "multi-dockerignore",
|
|
2404
|
+
"allowNo": false,
|
|
2405
|
+
"type": "boolean"
|
|
2406
|
+
},
|
|
2407
|
+
"noparent-check": {
|
|
2408
|
+
"description": "Disable project validation check of 'docker-compose.yml' file in parent folder",
|
|
2409
|
+
"name": "noparent-check",
|
|
2410
|
+
"allowNo": false,
|
|
2411
|
+
"type": "boolean"
|
|
2412
|
+
},
|
|
2413
|
+
"registry-secrets": {
|
|
2414
|
+
"char": "R",
|
|
2415
|
+
"description": "Path to a YAML or JSON file with passwords for a private Docker registry",
|
|
2416
|
+
"name": "registry-secrets",
|
|
2417
|
+
"hasDynamicHelp": false,
|
|
2418
|
+
"multiple": false,
|
|
2419
|
+
"type": "option"
|
|
2420
|
+
},
|
|
2421
|
+
"noconvert-eol": {
|
|
2422
|
+
"description": "Don't convert line endings from CRLF (Windows format) to LF (Unix format).",
|
|
2423
|
+
"name": "noconvert-eol",
|
|
2424
|
+
"allowNo": false,
|
|
2425
|
+
"type": "boolean"
|
|
2426
|
+
},
|
|
2427
|
+
"projectName": {
|
|
2428
|
+
"char": "n",
|
|
2429
|
+
"description": "Name prefix for locally built images. This is the 'projectName' portion\nin 'projectName_serviceName:tag'. The default is the directory name.",
|
|
2430
|
+
"name": "projectName",
|
|
2431
|
+
"hasDynamicHelp": false,
|
|
2432
|
+
"multiple": false,
|
|
2433
|
+
"type": "option"
|
|
2434
|
+
},
|
|
2435
|
+
"tag": {
|
|
2436
|
+
"char": "t",
|
|
2437
|
+
"description": "Tag locally built Docker images. This is the 'tag' portion\nin 'projectName_serviceName:tag'. The default is 'latest'.",
|
|
2438
|
+
"name": "tag",
|
|
2439
|
+
"hasDynamicHelp": false,
|
|
2440
|
+
"multiple": false,
|
|
2441
|
+
"type": "option"
|
|
2442
|
+
},
|
|
2443
|
+
"buildArg": {
|
|
2444
|
+
"char": "B",
|
|
2445
|
+
"description": "[Deprecated] Set a build-time variable (eg. \"-B 'ARG=value'\"). Can be specified multiple times.",
|
|
2446
|
+
"name": "buildArg",
|
|
2447
|
+
"hasDynamicHelp": false,
|
|
2448
|
+
"multiple": true,
|
|
2449
|
+
"type": "option"
|
|
2450
|
+
},
|
|
2451
|
+
"cache-from": {
|
|
2452
|
+
"description": "Comma-separated list (no spaces) of image names for build cache resolution. Implements the same feature as the \"docker build --cache-from\" option.",
|
|
2453
|
+
"name": "cache-from",
|
|
2454
|
+
"hasDynamicHelp": false,
|
|
2455
|
+
"multiple": false,
|
|
2456
|
+
"type": "option"
|
|
2457
|
+
},
|
|
2458
|
+
"nocache": {
|
|
2459
|
+
"description": "Don't use docker layer caching when building",
|
|
2460
|
+
"name": "nocache",
|
|
2461
|
+
"allowNo": false,
|
|
2462
|
+
"type": "boolean"
|
|
2463
|
+
},
|
|
2464
|
+
"pull": {
|
|
2465
|
+
"description": "Pull the base images again even if they exist locally",
|
|
2466
|
+
"name": "pull",
|
|
2467
|
+
"allowNo": false,
|
|
2468
|
+
"type": "boolean"
|
|
2469
|
+
},
|
|
2470
|
+
"squash": {
|
|
2471
|
+
"description": "Squash newly built layers into a single new layer",
|
|
2472
|
+
"name": "squash",
|
|
2473
|
+
"allowNo": false,
|
|
2474
|
+
"type": "boolean"
|
|
2475
|
+
},
|
|
2476
|
+
"docker": {
|
|
2477
|
+
"char": "P",
|
|
2478
|
+
"description": "Path to a local docker socket (e.g. /var/run/docker.sock)",
|
|
2479
|
+
"name": "docker",
|
|
2480
|
+
"hasDynamicHelp": false,
|
|
2481
|
+
"multiple": false,
|
|
2482
|
+
"type": "option"
|
|
2483
|
+
},
|
|
2484
|
+
"dockerHost": {
|
|
2485
|
+
"char": "h",
|
|
2486
|
+
"description": "Docker daemon hostname or IP address (dev machine or balena device) ",
|
|
2487
|
+
"name": "dockerHost",
|
|
2488
|
+
"hasDynamicHelp": false,
|
|
2489
|
+
"multiple": false,
|
|
2490
|
+
"type": "option"
|
|
2491
|
+
},
|
|
2492
|
+
"dockerPort": {
|
|
2493
|
+
"char": "p",
|
|
2494
|
+
"description": "Docker daemon TCP port number (hint: 2375 for balena devices)",
|
|
2495
|
+
"name": "dockerPort",
|
|
2496
|
+
"hasDynamicHelp": false,
|
|
2497
|
+
"multiple": false,
|
|
2498
|
+
"type": "option"
|
|
2499
|
+
},
|
|
2500
|
+
"ca": {
|
|
2501
|
+
"description": "Docker host TLS certificate authority file",
|
|
2502
|
+
"name": "ca",
|
|
2503
|
+
"hasDynamicHelp": false,
|
|
2504
|
+
"multiple": false,
|
|
2505
|
+
"type": "option"
|
|
2506
|
+
},
|
|
2507
|
+
"cert": {
|
|
2508
|
+
"description": "Docker host TLS certificate file",
|
|
2509
|
+
"name": "cert",
|
|
2510
|
+
"hasDynamicHelp": false,
|
|
2511
|
+
"multiple": false,
|
|
2512
|
+
"type": "option"
|
|
2513
|
+
},
|
|
2514
|
+
"key": {
|
|
2515
|
+
"description": "Docker host TLS key file",
|
|
2516
|
+
"name": "key",
|
|
2517
|
+
"hasDynamicHelp": false,
|
|
2518
|
+
"multiple": false,
|
|
2519
|
+
"type": "option"
|
|
2520
|
+
}
|
|
2521
|
+
},
|
|
2522
|
+
"hasDynamicHelp": false,
|
|
2523
|
+
"hiddenAliases": [],
|
|
2524
|
+
"id": "deploy",
|
|
2525
|
+
"pluginAlias": "balena-cli",
|
|
2526
|
+
"pluginName": "balena-cli",
|
|
2527
|
+
"pluginType": "core",
|
|
2528
|
+
"strict": true,
|
|
2529
|
+
"enableJsonFlag": false,
|
|
2530
|
+
"authenticated": true,
|
|
2531
|
+
"primary": true,
|
|
2532
|
+
"isESM": false,
|
|
2533
|
+
"relativePath": [
|
|
2534
|
+
"build",
|
|
2535
|
+
"commands",
|
|
2536
|
+
"deploy",
|
|
2537
|
+
"index.js"
|
|
2538
|
+
]
|
|
2539
|
+
},
|
|
2540
2540
|
"fleet:create": {
|
|
2541
2541
|
"aliases": [],
|
|
2542
2542
|
"args": {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "balena-cli",
|
|
3
|
-
"version": "23.2.9
|
|
3
|
+
"version": "23.2.9",
|
|
4
4
|
"description": "The official balena Command Line Interface",
|
|
5
5
|
"main": "./build/app.js",
|
|
6
6
|
"homepage": "https://github.com/balena-io/balena-cli",
|
|
@@ -262,6 +262,6 @@
|
|
|
262
262
|
"balena-request": "14.0.6"
|
|
263
263
|
},
|
|
264
264
|
"versionist": {
|
|
265
|
-
"publishedAt": "2025-12-
|
|
265
|
+
"publishedAt": "2025-12-12T18:18:37.405Z"
|
|
266
266
|
}
|
|
267
267
|
}
|