:_content-type: REFERENCE
[id="odo-registry_{context}"]
= odo registry


`odo` uses the portable _devfile_ format to describe the components. `odo` can connect to various devfile registries, to download devfiles for different languages and frameworks.

You can connect to publicly available devfile registries, or you can install your own _Secure Registry_.

You can use the `odo registry` command to manage the registries that are used by `odo` to retrieve devfile information.

== Listing the registries

To list the registries currently contacted by `odo`, run the command:

[source,terminal]
----
$ odo registry list
----

.Example output:
[source,terminal]
----
NAME                       URL                             SECURE
DefaultDevfileRegistry     https://registry.devfile.io     No
----


`DefaultDevfileRegistry` is the default registry used by odo; it is provided by the https://devfile.io[devfile.io] project.

== Adding a registry

To add a registry, run the command:

[source,terminal]
----
$ odo registry add
----

.Example output:
[source,terminal]
----
$ odo registry add StageRegistry https://registry.stage.devfile.io
New registry successfully added
----


If you are deploying your own Secure Registry, you can specify the personal access token to authenticate to the secure registry with the `--token` flag:

[source,terminal]
----
$ odo registry add MyRegistry https://myregistry.example.com --token <access_token>
New registry successfully added
----

== Deleting a registry

To delete a registry, run the command:

[source,terminal]
----
$ odo registry delete
----

.Example output:
[source,terminal]
----
$ odo registry delete StageRegistry
? Are you sure you want to delete registry "StageRegistry" Yes
Successfully deleted registry
----

Use the `--force` (or `-f`) flag to force the deletion of the registry without confirmation.

== Updating a registry

To update the URL or the personal access token of a registry already registered, run the command:

[source,terminal]
----
$ odo registry update
----

.Example output:
[source,terminal]
----
 $ odo registry update MyRegistry https://otherregistry.example.com --token <other_access_token>
 ? Are you sure you want to update registry "MyRegistry" Yes
 Successfully updated registry
----

Use the `--force` (or `-f`) flag to force the update of the registry without confirmation.
