Skip to content
OpenShift Do - Fast, iterative OpenShift development
Go Shell Java Makefile HTML JavaScript Other
Branch: master
Clone or download


Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci redhat-developer/odo -> openshift/odo (#1505) Mar 21, 2019
.github Add additional information to pull request template (#2714) Mar 17, 2020
build Update build version to 1.1.1 (#2715) Mar 12, 2020
cmd Exports ODO_LOG_LEVEL env variable in integration tests (#2595) Feb 19, 2020
docs Removes the annotation '' for local and binar… Mar 23, 2020
openshift-ci/build-root Create a secret directory in docker file (#2718) Mar 13, 2020
pkg Fixes storage owner references. (#2750) Mar 30, 2020
rpms Build and package for all RHEL architectures (#2384) Nov 11, 2019
scripts 'odo watch' support for devfile components (#2737) Mar 28, 2020
tests Fixes hardcoded directory strings with env variables (#2772) Mar 31, 2020
vendor Add Docker client library for odo (#2724) Mar 25, 2020
.codecov.yml Update configuration. Sep 20, 2018
.gitignore Update test reports path in gitignore file (#2252) Oct 9, 2019
.travis.yml 'odo watch' support for devfile components (#2737) Mar 28, 2020
.wwhrd.yml Update vendor openshift 4.1 (#2574) Feb 6, 2020
Dockerfile.rhel Release 1.1.1 of odo (#2711) Mar 12, 2020
LICENSE fix copyright in LICENCE file Feb 28, 2018
Makefile 'odo watch' support for devfile components (#2737) Mar 28, 2020
OWNERS add new reviewers to top level OWNERS (#2556) Feb 10, 2020
README.adoc Update the README with corresponding languages and package managers (#… Mar 13, 2020
appveyor.yml add step to compress before publishing artifacts to appveyor (#1029) Nov 22, 2018
glide.lock Add Docker client library for odo (#2724) Mar 25, 2020
glide.yaml Add Docker client library for odo (#2724) Mar 25, 2020
plugin.yaml Renaming ocdev to odo Apr 12, 2018


odo - Developer-focused CLI for OpenShift

GitHub release Build Status License


OpenShift Do (odo) is a fast, iterative, and straightforward CLI tool for developers who write, build, and deploy applications on OpenShift.

Existing tools such as oc are more operations-focused and require a deep-understanding of Kubernetes and OpenShift concepts. odo abstracts away complex Kubernetes and OpenShift concepts for the developer, thus allowing developers to focus on what is most important to them: code.

Key features

odo is designed to be simple and concise with the following key features:

  • Simple syntax and design centered around concepts familiar to developers, such as projects, applications, and components.

  • Completely client based. No server is required within the OpenShift cluster for deployment.

  • Official support for Node.js and Java components.

  • Partial compatibility with languages and frameworks such as Ruby, Perl, PHP, and Python.

  • Detects changes to local code and deploys it to the cluster automatically, giving instant feedback to validate changes in real time.

  • Lists all the available components and services from the {product-title} cluster.

Officially supported languages and corresponding container images

Table 1. Supported container images
Language Container Image Supported Package Manager














Maven, Gradle


Maven, Gradle


Maven, Gradle

Listing available container images


The list of available container images is sourced from the cluster’s internal container registry and external registries associated with the cluster.

To list the available components and associated container images for your cluster:

  1. Log in to the {product-title} cluster with {odo-title}:

    $ odo login -u developer -p developer
  2. List the available {odo-title} supported and unsupported components and corresponding container images:

    $ odo catalog list components
    Odo Supported OpenShift Components:
    NAME        PROJECT      TAGS
    java       openshift     8,latest
    nodejs     openshift     10,8,8-RHOAR,latest
    Odo Unsupported OpenShift Components:
    NAME                      PROJECT       TAGS
    dotnet                    openshift     1.0,1.1,2.1,2.2,latest
    fuse7-eap-openshift       openshift     1.3

    The TAGS column represents the available image versions, for example, 10 represents the rhoar-nodejs/nodejs-10 container image.

Installing odo

To install on Linux / Windows / macOS follow our guide located on All binaries and tarballs are synced between our GitHub releases and OpenShift mirrors.

Deploying your first application

Click on the tutorial below to deploy your first odo application:

The following demonstration provides an overview of odo:


Community, discussion, contribution, and support

Communication channels


Chat: Join us on Slack.

Issues: If you have an issue with odo, please file it.

Documentation Issues: If you have any documentation issues related to the site, file an issue in Bugzilla. Choose the OpenShift Container Platform product type and the Documentation component type.


Want to become a contributor and submit your code? Please have a look at our Development Guide.

We work in 3-week sprint cycles. On a week when the sprint starts we have two planning calls:

  • "Sprint Planning Preparation and Issue Triage" - on Monday

  • "Sprint Planning" - on Wednesday

On top of our sprint planning calls, we have our regular "odo contributors call" (biweekly on Tuesdays). This is where we discuss technical challenges and anything related to odo development.

All our calls are open to public. You are welcome to join any of our calls.

You can find the exact dates of all scheduled odo calls together with sprint dates in the odo calendar (iCal format).

To participate in the calls, please join odo-dev Google group. When you join the group, you will automatically get invites to all odo related calls and get permissions to all necessary documents.

Projects using odo


Application: An application consists of multiple microservices or components that work individually to build the entire application.

Component: A component is similar to a microservice. Multiple components make up an application. A component has different attributes like storage. odo supports multiple component types like nodejs, perl, php, python, and ruby.

Service: Typically a service is a database or a service that a component links to or depends on. For example: MariaDB, Jenkins, MySQL. This comes from the OpenShift Service Catalog and must be enabled within your cluster.

You can’t perform that action at this time.