Skip to content

Commit

Permalink
Rename to Registry
Browse files Browse the repository at this point in the history
  • Loading branch information
npentrel committed Nov 4, 2023
1 parent fc80847 commit 371e26f
Show file tree
Hide file tree
Showing 60 changed files with 240 additions and 244 deletions.
6 changes: 3 additions & 3 deletions docs/appendix/changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ linkTitle: "Changelog"
weight: 110
draft: false
type: "docs"
description: "Changelog"
description: "A lof of added features, improvements, and changes over time."
aliases:
- "/appendix/release-notes/"
# SME:
Expand Down Expand Up @@ -419,9 +419,9 @@ The UR5 arm model has been improved using this new geometry type.

### Added: Modular resources

You can now implement your own custom {{< glossary_tooltip term_id="resource" text="resources" >}} as [_modular resources_](/modular-resources/).
You can now implement your own custom {{< glossary_tooltip term_id="resource" text="resources" >}} as [_modular resources_](/registry/).

The [old method](/modular-resources/advanced/custom-components-remotes/) of using a separate server to implement a custom resource is still supported, but implementation as a modular resource reduces network requests and is strongly recommended.
The [old method](/registry/advanced/custom-components-remotes/) of using a separate server to implement a custom resource is still supported, but implementation as a modular resource reduces network requests and is strongly recommended.

{{% alert title="Important: Breaking Change" color="note" %}}

Expand Down
4 changes: 2 additions & 2 deletions docs/appendix/glossary/model-namespace-triplet.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
---
title: Model Namespace Triplet
id: model-namespace-triplet
full_link: /modular-resources/key-concepts/#naming-your-model-namespacerepo-namename
full_link: /registry/key-concepts/#naming-your-model-namespacerepo-namename
short_description: namespace:repo-name:name or rdk:builtin:name
aka:
---

{{< glossary_tooltip term_id="model" text="Models" >}} are uniquely namespaced as colon-delimited-triplets.
Modular resource model names have the form `namespace:repo-name:name`.
Built-in model names have the form `rdk:builtin:name`.
See [Naming your model](/modular-resources/key-concepts/#naming-your-model-namespacerepo-namename) for more information.
See [Naming your model](/registry/key-concepts/#naming-your-model-namespacerepo-namename) for more information.
56 changes: 56 additions & 0 deletions docs/appendix/glossary/model.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,59 @@ aka:
A particular implementation of a {{< glossary_tooltip term_id="resource" text="resource" >}} {{< glossary_tooltip term_id="subtype" text="subtype" >}}.

For example: `ur5e` is a _model_ of arm, implementing the [resource API](/program/apis/) of the [arm](/components/arm/) subtype of {{< glossary_tooltip term_id="component" text="component" >}}, which, in turn, is a {{< glossary_tooltip term_id="type" text="type" >}} of resource.

## Models

A _model_ describes a specific implementation of a {{< glossary_tooltip term_id="resource" text="resource" >}} that implements (speaks) its [API](/program/apis/).
Models allow you to control hardware or software of a similar category, such as motors, with a consistent set of methods as an interface, even if the underlying implementation differs.

For example, some DC motors communicate using [GPIO](/components/board/), while other DC motors use serial protocols like the [SPI bus](/components/board/#spis).
Regardless, you can power any motor model that implements the `rdk:component:motor` API with the `SetPower()` method.

Models are uniquely namespaced as colon-delimited-triplets.
Modular resource model names have the form `namespace:repo-name:name`.
Built-in model names have the form `rdk:builtin:name`.
See [Naming your model](#naming-your-model-namespacerepo-namename) for more information.

Models are either:

- Built into the RDK, and included when you [install `viam-server`](/installation/) or when you use one of the [Viam SDKs](/program/apis/).
- Provided in {{< glossary_tooltip term_id="module" text="custom modules" >}} available for download from the [Viam registry](https://app.viam.com/registry), and are written by either Viam or community users.
Custom modules can also be [local](/registry/configure/#local-modules).

### Built-in models

Viam provides many built-in models that implement API capabilities, each using `rdk` as the `namespace`, and `builtin` as the `family`.
These models run within `viam-server`.

For example:

- The `rdk:builtin:gpio` model of the `rdk:component:motor` API provides RDK support for [GPIO-controlled DC motors](/components/motor/gpio/).
- The `rdk:builtin:DMC4000` model of the same `rdk:component:motor` API provides RDK support for the [DMC4000](/components/motor/dmc4000/) motor.

### Custom models

The [Viam registry](https://app.viam.com/registry) makes available both Viam-provided and community-written modules for download and use on your robot.
You can also run modules [locally](/registry/configure/#local-modules).
These models run outside `viam-server` as a separate process.

#### Naming your model: namespace:repo-name:name

If you are [creating a custom module](/registry/create/) and [uploading that module](/registry/upload/) to the Viam registry, ensure your model name meets the following requirements:

- The namespace of your model **must** match the [namespace of your organization](/manage/fleet/organizations/#create-a-namespace-for-your-organization).
For example, if your organization uses the `acme` namespace, your models must all begin with `acme`, like `acme:demo:mybase`.
- Your model triplet must be all-lowercase.
- Your model triplet may only use alphanumeric (`a-z` and `0-9`), hyphen (`-`), and underscore (`_`) characters.

For the middle segment of your model triplet `repo-name`, use the name of the git repository where you store your module's code.
The `repo-name` should describe the common functionality provided across the model or models of that module.

For example:

- The `rand:yahboom:arm` model and the `rand:yahboom:gripper` model uses the repository name [yahboom](https://github.com/viam-labs/yahboom).
The models implement the `rdk:component:arm` and the `rdk:component:gripper` API to support the Yahboom DOFBOT arm and gripper, respectively.
- The `viam-labs:audioout:pygame` model uses the repository name [audioout](https://github.com/viam-labs/audioout)
It implements the custom API `viam-labs:service:audioout`.

The `viam` namespace is reserved for models provided by Viam.
4 changes: 2 additions & 2 deletions docs/appendix/glossary/modular-resource.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: Modular Resource
id: modular-resource
full_link: https://docs.viam.com/modular-resources/
full_link: https://docs.viam.com/registry/
short_description: A modular resource is a custom model of a component or service that implements the standadized API methods for that resource.
aka:
---
Expand All @@ -11,4 +11,4 @@ Modular resources are provided by {{< glossary_tooltip term_id="module" text="mo
A modular resource runs in the module process.
This differs from built-in resources, which run as part of `viam-server`.

For more information see the [Modular Resource Documentation](/modular-resources/).
For more information see the [Modular Resource Documentation](/registry/).
4 changes: 2 additions & 2 deletions docs/appendix/glossary/module.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,6 @@ A _module_ provides one or more {{< glossary_tooltip term_id="modular-resource"
Modules run alongside `viam-server` as separate processs, communicating with `viam-server` over UNIX sockets.
When the module initializes, it registers those pairs on your robot, making the functionality defined by that pair available for use.

You can [create your own module](/modular-resources/create/) or [add existing modules from the Viam registry](/modular-resources/configure/).
You can [create your own module](/registry/create/) or [add existing modules from the Viam registry](/registry/configure/).

For more information see the [modular resource documentation](/modular-resources/).
For more information see the [modular resource documentation](/registry/).
2 changes: 1 addition & 1 deletion docs/appendix/glossary/resource.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,4 @@ Resources are individual, addressable elements of a robot.
Each part has local resources and can also have resources from another {{< glossary_tooltip term_id="remote" text="remote">}} robot part.
The capabilities of each resource are exposed through the part’s API.

Each resource on your robot implements either one of the [existing Viam APIs](/modular-resources/create/#valid-apis-to-implement-in-your-model), or a [custom interface](/modular-resources/advanced/#new-api-subtypes).
Each resource on your robot implements either one of the [existing Viam APIs](/registry/create/#valid-apis-to-implement-in-your-model), or a [custom interface](/registry/advanced/#new-api-subtypes).
4 changes: 2 additions & 2 deletions docs/components/arm/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,9 +61,9 @@ To use your arm with Viam, check whether one of the following [built-in models](

{{< alert title="Add support for other models" color="tip" >}}

If none of the existing models fit your use case, you can [create a modular resource](/modular-resources/) to add support for it.
If none of the existing models fit your use case, you can [create a modular resource](/registry/) to add support for it.

You can follow [this guide](/modular-resources/examples/custom-arm/) to implement your custom arm as a [modular resource](/modular-resources/).
You can follow [this guide](/registry/examples/custom-arm/) to implement your custom arm as a [modular resource](/registry/).

{{< /alert >}}

Expand Down
4 changes: 2 additions & 2 deletions docs/components/board/jetson.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: "Configure a jetson board"
linkTitle: "jetson"
weight: 20
type: "docs"
description: "Configure a jetson board."
description: "Configure a jetson board to integrate a NVIDIA Jetson Orin Module and Developer Kit, NVIDIA Jetson AGX, or NVIDIA Jetson Nano into your robot."
images: ["/icons/components/board.svg"]
tags: ["board", "components"]
# SMEs: Gautham, Rand
Expand All @@ -13,7 +13,7 @@ tags: ["board", "components"]

Follow one of our Jetson [setup guides](/installation/) to prepare your board for running `viam-server` before configuring a `jetson` board.

If you have a CSI camera, follow [these instructions](/modular-resources/examples/csi/) to configure it using the `viam:camera:csi` model.
If you have a CSI camera, follow [these instructions](/registry/examples/csi/) to configure it using the `viam:camera:csi` model.

{{% /alert %}}

Expand Down
2 changes: 1 addition & 1 deletion docs/components/movement-sensor/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ Model | Description <a name="model-table"></a>
[`gps-nmea-rtk-serial`](./gps/gps-nmea-rtk-serial/) | [NTRIP-based](https://en.wikipedia.org/wiki/Networked_Transport_of_RTCM_via_Internet_Protocol) [RTK](https://en.wikipedia.org/wiki/Real-time_kinematic_positioning) GPS models using serial communication (**experimental**)
[`imu-wit`](./imu/imu-wit/) | IMUs manufactured by [WitMotion](https://www.wit-motion.com/)
[`accel-adxl345`](./adxl345/) | The [Analog Devices ADXL345](https://www.analog.com/en/products/adxl345.html) digital accelerometer
[`viam_visual_odometry`](./viam-visual-odometry/) | A [modular resource](/modular-resources/) that derives movement data from a [camera](/components/camera/) stream
[`viam_visual_odometry`](./viam-visual-odometry/) | A [modular resource](/registry/) that derives movement data from a [camera](/components/camera/) stream
[`gyro-mpu6050`](./mpu6050/) | A gyroscope/accelerometer manufactured by TDK InvenSense
[`merged`](./merged/) | A model that allows you to aggregate the API methods supported by multiple sensors into a singular sensor client, effectively merging the models of the individual resources
[`wheeled-odometry`](./wheeled-odometry/) | A model that uses [encoders](/components/encoder/) to get an odometry estimate from a wheeled base
Expand Down
2 changes: 1 addition & 1 deletion docs/components/movement-sensor/viam-visual-odometry.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ While `monocular-visual-odometry` enables you to add movement sensing abilities
If your robot requires precise awareness of its location and its movement, you should consider using a dedicated movement sensor in addition to the `monocular-visual-odometry` module.

The `monocular-visual-odometry` module is available [from the Viam registry](https://app.viam.com/module/viam/monocular-visual-odometry).
See [Modular resources](/modular-resources/#the-viam-registry) for instructions on using a module from the Viam registry on your robot.
See [Modular resources](/registry/#the-viam-registry) for instructions on using a module from the Viam registry on your robot.

The source code for this module is available on the [`viam-visual-odometry` GitHub repository](https://github.com/viamrobotics/viam-visual-odometry).

Expand Down
2 changes: 1 addition & 1 deletion docs/components/movement-sensor/wheeled-odometry.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ After configuring a `wheeled-odometry` movement sensor, you can operate your bas

To prepare your robot, attach [encoders](/components/encoder/) to each of the position-reporting motors on your base to measure their rotation.

- Select motors that can report their own position, like an encoded [`roboclaw`](/components/motor/roboclaw/) or [`gpio` motors](/components/motor/gpio/) with [encoders](/components/encoder/#supported-models), or the [`odrive`](/modular-resources/examples/odrive/) module.
- Select motors that can report their own position, like an encoded [`roboclaw`](/components/motor/roboclaw/) or [`gpio` motors](/components/motor/gpio/) with [encoders](/components/encoder/#supported-models), or the [`odrive`](/registry/examples/odrive/) module.
You can access this property of a configured motor through the [motor API's `GetProperties()`](/components/motor/#getproperties).
- Configure your rover as a [wheeled base component](/components/base/wheeled/).
Make sure to configure the base width and circumference, as these measurements as a property of the base are vital for accurate odometry estimations by your movement sensor.
Expand Down
2 changes: 1 addition & 1 deletion docs/internals/RDK.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,6 @@ During robot shutdown, the RDK handles modular resource instances similarly to b

{{< cards >}}
{{% card link="/program/apis/" %}}
{{% card link="/modular-resources/" %}}
{{% card link="/registry/" %}}
{{% card link="/micro-rdk/" %}}
{{< /cards >}}
14 changes: 7 additions & 7 deletions docs/manage/CLI.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ The CLI lets you:
- Retrieve [organization](/manage/fleet/organizations/) and location information
- Manage [robot fleet](/manage/fleet/) data and logs
- Control robots by issuing component and service commands
- Upload and manage [modular resources](/modular-resources/) in the Viam registry
- Upload and manage [modular resources](/registry/) in the Viam registry

For example, this CLI command moves a servo to the 75 degree position:

Expand Down Expand Up @@ -377,10 +377,10 @@ viam module update
viam module upload --version "1.0.0" --platform "darwin/arm64" packaged-module.tar.gz
```

See [Upload a custom module](/modular-resources/upload/#upload-a-custom-module) and [Update an existing module](/modular-resources/upload/#update-an-existing-module) for a detailed walkthrough of the `viam module` commands.
See [Upload a custom module](/registry/upload/#upload-a-custom-module) and [Update an existing module](/registry/upload/#update-an-existing-module) for a detailed walkthrough of the `viam module` commands.

If you update and release your module as part of a continuous integration (CI) workflow, you can also
[automatically upload new versions of your module on release](/modular-resources/upload/#update-an-existing-module-using-a-github-action) using a GitHub Action.
[automatically upload new versions of your module on release](/registry/upload/#update-an-existing-module-using-a-github-action) using a GitHub Action.

#### Command options

Expand Down Expand Up @@ -494,7 +494,7 @@ The `meta.json` file includes the following configuration options:
<td><code>models</code></td>
<td>object</td>
<td><strong>Required</strong></td>
<td>A list of one or more <a href="/modular-resources/key-concepts/#models">models</a> provided by your custom module. You must provide at least one model, which consists of an <code>api</code> and <code>model</code> key pair.</td>
<td>A list of one or more <a href="/registry/key-concepts/#models">models</a> provided by your custom module. You must provide at least one model, which consists of an <code>api</code> and <code>model</code> key pair.</td>
</tr>
<tr>
<td><code>entrypoint</code></td>
Expand Down Expand Up @@ -523,14 +523,14 @@ For example, the following represents the configuration of an example `my-module
```

{{% alert title="Important" color="note" %}}
If you are publishing a public module (`"visibility": "public"`), the [namespace of your model](/modular-resources/key-concepts/#naming-your-model-namespacerepo-namename) must match the [namespace of your organization](/manage/fleet/organizations/#create-a-namespace-for-your-organization).
If you are publishing a public module (`"visibility": "public"`), the [namespace of your model](/registry/key-concepts/#naming-your-model-namespacerepo-namename) must match the [namespace of your organization](/manage/fleet/organizations/#create-a-namespace-for-your-organization).
In the example above, the model namespace is set to `acme` to match the owning organization's namespace.
If the two namespaces do not match, the command will return an error.
{{% /alert %}}

See [Upload a custom module](/modular-resources/upload/#upload-a-custom-module) and [Update an existing module](/modular-resources/upload/#update-an-existing-module) for a detailed walkthrough of the `viam module` commands.
See [Upload a custom module](/registry/upload/#upload-a-custom-module) and [Update an existing module](/registry/upload/#update-an-existing-module) for a detailed walkthrough of the `viam module` commands.

See [Modular resources](/modular-resources/) for a conceptual overview of modules and the modular resource system at Viam.
See [Modular resources](/registry/) for a conceptual overview of modules and the modular resource system at Viam.

### organizations

Expand Down
4 changes: 2 additions & 2 deletions docs/manage/configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -212,9 +212,9 @@ See the [services documentation](/services/) for more information.

## Modules

[Modular resources](/modular-resources/) are a way to add resource types or models that are not built into Viam.
[Modular resources](/registry/) are a way to add resource types or models that are not built into Viam.

To add a modular resource as a component or service of your robot, configure a module per the [modular resource documentation](/modular-resources/).
To add a modular resource as a component or service of your robot, configure a module per the [modular resource documentation](/registry/).

## Remotes

Expand Down
2 changes: 1 addition & 1 deletion docs/manage/fleet/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ If you are collaborating on a robot and controlling it using the [**Control** ta

### Deployment

You and your collaborators can deploy [control logic](/program/apis/), [modular resources](/modular-resources/), sidecar [processes](../configuration/#processes), or [machine learning models](/services/ml/) to your fleet of robots without manually copying files by uploading it to Viam's cloud and deploying it to your fleet.
You and your collaborators can deploy [control logic](/program/apis/), [modular resources](/registry/), sidecar [processes](../configuration/#processes), or [machine learning models](/services/ml/) to your fleet of robots without manually copying files by uploading it to Viam's cloud and deploying it to your fleet.

## The Viam mobile app

Expand Down
2 changes: 1 addition & 1 deletion docs/manage/fleet/organizations.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ In the members section of the page enter their email address, select a role, and

### Create a namespace for your organization

When uploading [custom modules](/modular-resources/) to the Viam registry, you must set a namespace for your organization to associate your module with.
When uploading [custom modules](/registry/) to the Viam registry, you must set a namespace for your organization to associate your module with.

To create a new namespace for your organization, click on the Org's **Settings** in the top right of the navigation bar, then click the **Set a public namespace** button.
Enter a name for your namespace, and then click **Set namespace**.
Expand Down
Loading

0 comments on commit 371e26f

Please sign in to comment.