odo v3 logo

Developers love command-line productivity. We get that. This article describes how odo, a developer-focused command-line interface (CLI) for Red Hat OpenShift and Kubernetes, simplifies cloud-native development.

odo supports fast, iterative development and lets developers focus on what's most important to them—code. The odo 3.0 GA release provides new and improved user experience and security. This new release also allows developers to automatically detect bindable resources, making it easier to connect applications to services.

6 ways odo 3.0 GA improves the developer experience

The following sections describe six odo 3.0 GA features and commands that improve the developer experience.

1. Interactive commands

odo has new interactive commands to help developers with the discoverability of capabilities. Many odo commands provide an interactive and direct mode. In interactive mode, enter the command without options, and then you get a prompt for responses. In direct mode, enter the full command, including options, and there are no prompts provided.

2. The odo init command

Now, developers can use odo init. Version 3.0 can auto-detect your source code and inject the appropriate language/framework template. Alternatively, you can begin with a starter project quickly.

3. The odo dev command

Start development on your application with odo dev to deploy the app to the cluster in dev mode. This command watches for changes in your local folder and automatically redeploys them to your cluster, allowing you to see real-time updates as you code.

odo dev runs in the foreground until the user hits Ctrl+C. It continuously watches the directory for any new changes (including the changes occurring in the Devfile) and automatically syncs them with the application running on the cluster.

4. The odo deploy command

Run the outer loop of your development cycle with odo deploy. Use odo deploy for the following scenarios:

  • You are working in a production environment.
  • The application is ready for public viewing.
  • You require building and pushing the container.
  • You need custom Kubernetes YAML for your production environment.

5. The odo add binding command

Use odo add binding to connect to an operator-backed service in any namespace. This command has an interactive mode that lists bindable services across all the namespaces and a way to customize the related configuration, providing a fast and easy experience for connecting to a service. Currently, the bindable services listed are operator-backed services that support binding via the service binding operator. To learn more about the operators supported by the service binding operator, refer to its README.

6. odo works with OpenShift and Kubernetes

Last but not least, odo works with OpenShift or any Kubernetes cluster. You pick! We have even added aliases to match the mental models that worked with OpenShift or Kubernetes.

OpenShift developers can use the following commands:

  • odo create project
  • odo list project
  • odo set project
  • odo delete project

The following commands may resonate better on Kubernetes:

  • odo create namespace
  • odo list namespace
  • odo set namespace
  • odo delete namespace

Ready to try odo 3.0?

Head over to odo.dev. Use our installation guide and give it a try! Do you want to deploy your app to a cluster? Get free access with Developer Sandbox for OpenShift.

OpenShift Toolkit for IDEs on Visual Studio Code and IntelliJ will soon support these new odo development workflows. Stay tuned for updates later this month.

For more information about odo 3.0 GA, check out the following resources:

Last updated: November 8, 2023