You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/dev/tools/cli.md
+7-2Lines changed: 7 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -943,7 +943,7 @@ viam module download --id=acme:my-module --version=1.0.0 --platform=linux/amd64
943
943
|`--org-id`| The organization ID to associate the module to. See [Using the `--org-id` argument](#using-the---org-id-and---public-namespace-arguments). |`create`, `upload`|**Required**|
944
944
|`--public-namespace`| The namespace to associate the module to. See [Using the `--public-namespace` argument](#using-the---org-id-and---public-namespace-arguments). |`create`, `upload`|**Required**|
945
945
|`--platform`| The architecture of your module binary. See [Using the `--platform` argument](#using-the---platform-argument). |`upload`, `build logs`, `download`|**Required** for `upload`|
946
-
| `--tags` | Comma-separated list of platform tags that determine to which platforms this binary can be deployed. Examples: `distro:debian,distro:ubuntu, os_version:22.04,os_codename:jammy`. For a machine to use an uploaded binary, all tags must be satisfied as well as the `--platform` field. <ul><li>`distro`: Distribution. You can find this in `/etc/os-release`. `"debian"` or `"ubuntu"`.</li><li>`os_version`: Operating System version. On Linux, you can find this in `/etc/os-release`. Example for linux: `22.04`. On Mac, run `sw_vers --productVersion` and use the major version only. Example for mac: `14`.</li><li>`codename`: The operating system codename. Find this in `/etc/os-release`. For example: `"bullseye"`, `"bookworm"`, or `"jammy"`.</li><li>`cuda`: Whether using CUDA compiler. Run `nvcc --version`. For example: `"true"`.</li><li>`cuda_version`: The CUDA compiler version. Run `nvcc --version`. For example: `"11"` or `"12"`.</li><li>`jetpack`: Version of the NVIDIA JetPack SDK. Run `apt-cache show nvidia-jetpack`. For example: `"5"`.</li><li>`pi`: Version of the raspberry pi: `"4"` or `"5"`.</li><li>`pifull`: Compute module or model number, for example `cm5p` or `5B`.</li></ul> | `upload` | Optional |
946
+
| `--tags` | Comma-separated list of platform tags that determine to which platforms this binary can be deployed. Examples: `distro:debian,distro:ubuntu, os_version:22.04,os_codename:jammy`. For a machine to use an uploaded binary, all tags must be satisfied as well as the `--platform` field. <ul><li>`distro`: Distribution. You can find this in `/etc/os-release`. `"debian"` or `"ubuntu"`.</li><li>`os_version`: Operating System version. On Linux, you can find this in `/etc/os-release`. Example for linux: `22.04`. On Mac, run `sw_vers --productVersion` and use the major version only. Example for mac: `14`.</li><li>`codename`: The operating system codename. Find this in `/etc/os-release`. For example: `"bullseye"`, `"bookworm"`, or `"jammy"`.</li><li>`cuda`: Whether using CUDA compiler. Run `nvcc --version`. For example: `"true"`.</li><li>`cuda_version`: The CUDA compiler version. Run `nvcc --version`. For example: `"11"` or `"12"`.</li><li>`jetpack`: Version of the NVIDIA JetPack SDK. Run `apt-cache show nvidia-jetpack`. For example: `"5"`.</li><li>`pi`: Version of the Raspberry Pi: `"4"` or `"5"`.</li><li>`pifull`: Compute module or model number, for example `cm5p` or `5B`.</li></ul> | `upload` | Optional |
947
947
|`--version`| The version of your module to set for this upload or download. For `download`, defaults to `latest`. See [Using the `--version` argument](#using-the---version-argument). |`upload`, `download`|**Required** for `upload`|
948
948
|`--wait`| Wait for the build to finish before outputting any logs. |`build logs`| Optional |
949
949
@@ -986,7 +986,7 @@ If you would like to upload your module with support for multiple platforms, you
986
986
Use the _same version number_ when running multiple `upload` commands of the same module code if only the `platform` support differs.
987
987
988
988
If you specify a platform that includes `any` (such as `any`, `any/amd64`, or `linux/any`), a machine that deploys your module will select the _most restrictive_ architecture from the ones you have provided for your module.
989
-
For example, if you upload your module with support for `any/amd64` and then also upload with support for `linux/amd64`, a machine running the `linux/amd64` architecture deploys the `linux/amd64`version, while a machine running the `darwin/amd64` architecture deploys the `any/amd64`version.
989
+
For example, if you upload your module with support for `any/amd64` and then also upload with support for `linux/amd64`, a machine running the `linux/amd64` architecture deploys the `linux/amd64`distribution, while a machine running the `darwin/amd64` architecture deploys the `any/amd64`distribution.
990
990
991
991
The Viam Registry page for your module displays the platforms your module supports for each version you have uploaded.
992
992
@@ -997,6 +997,11 @@ If you are using the `build logs` command, the `--platform` argument instead res
997
997
The `--version` argument accepts a valid [semver 2.0](https://semver.org/) version (example: `1.0.0`).
998
998
You set an initial version for your custom module with your first `viam module upload` command for that module, and can later increment the version with subsequent `viam module upload` commands.
999
999
1000
+
{{% alert title="Important" color="note" %}}
1001
+
You cannot upload multiple distributions for the same architecture with the same version number.
1002
+
You can delete the distribution files for a version, but you must increment to a new version number to upload a new distribution.
1003
+
{{% /alert %}}
1004
+
1000
1005
Once your module is uploaded, users can select which version of your module to use on their machine from your module's page on the Viam Registry.
1001
1006
Users can choose to pin to a specific patch version, permit upgrades within major release families or only within minor releases, or permit continuous updates.
0 commit comments