Skip to content

gaganhegde/Tasks38

Repository files navigation

odo - Developer-focused CLI for OpenShift

GitHub release Build Status License

Overview

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
Node.js Java

centos/nodejs-8-centos7

redhat-openjdk-18/openjdk18-openshift

rhoar-nodejs/nodejs-8

openjdk/openjdk-11-rhel8

rhoar-nodejs/nodejs-10

openjdk/openjdk-11-rhel7

bucharestgold/centos7-s2i-nodejs

rhscl/nodejs-8-rhel7

rhscl/nodejs-10-rhel7

Listing available container images

Note

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 docs.openshift.com. 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:

asciicast

Community, discussion, contribution, and support

Chat: Join us on Slack.

Discussions: For any developmental discussions with odo, use our odo-dev Google group, for general help and inquiries, join our odo-users Google group.

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

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

Contributing: Want to become a contributor and submit your own code? Have a look at our Development Guide.

Projects using odo

Glossary

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.