1
0
mirror of https://github.com/openshift/openshift-docs.git synced 2026-02-06 06:46:26 +01:00
Files
openshift-docs/cli_reference/developer_cli_odo/understanding-odo.adoc
Charlie Drage 4fe8747353 Odo correction for no additional server in understanding docs
Based on user feedback, updates the documentation to suggest that there
is no need for an **additional** server other than OpenShift / the
cluster you're using. Rather than saying there is *no server required*.

Signed-off-by: Charlie Drage <charlie@charliedrage.com>
2020-06-05 15:08:32 +00:00

110 lines
4.6 KiB
Plaintext

[id="understanding-odo"]
= Understanding OpenShift Do
include::modules/developer-cli-odo-attributes.adoc[]
include::modules/common-attributes.adoc[]
:context: understanding-odo
toc::[]
`{odo-title}` is a CLI tool for creating applications on {product-title} and Kubernetes. `{odo-title}` allows developers to concentrate on creating applications without the need to administer a cluster itself.
Creating deployment configurations, build configurations, service routes and other {product-title} or Kubernetes elements are all automated by `{odo-title}`.
Existing tools such as `oc` are more operations-focused and require a deep understanding of Kubernetes and {product-title} concepts. `{odo-title}` abstracts away complex Kubernetes and {product-title} concepts allowing developers to focus on what is most important to them: code.
[id="odo-key-features"]
== Key features
`{odo-title}` 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 additional server other than {product-title} is required 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 cluster.
== Core concepts
Project::
A project is your source code, tests, and libraries organized in a separate single unit.
Application::
An application is a program designed for end users. An application consists of multiple microservices or components that work individually to build the entire application.
Examples of applications: a video game, a media player, a web browser.
Component::
A component is a set of Kubernetes resources which host code or data. Each component can be run and deployed separately.
Examples of components: Node.js, Perl, PHP, Python, Ruby.
Service::
A service is software that your component links to or depends on.
Examples of services: MariaDB, Jenkins, MySQL.
In `{odo-title}`, services are provisioned from the OpenShift Service Catalog and must be enabled within your cluster.
[id="odo-supported-languages-and-images"]
=== Officially supported languages and corresponding container images
.Supported languages, container images, and package managers
[options="header"]
|===
|Language |Container image |Package manager
|*Node.js*
|https://github.com/sclorg/s2i-nodejs-container[centos/nodejs-8-centos7]
|NPM
| |https://access.redhat.com/articles/3376841[rhoar-nodejs/nodejs-8]
|NPM
|
|https://www.github.com/bucharest-gold/centos7-s2i-nodejs[bucharestgold/centos7-s2i-nodejs]
|NPM
|
|https://access.redhat.com/containers/#/registry.access.redhat.com/rhscl/nodejs-8-rhel7[rhscl/nodejs-8-rhel7]
|NPM
|
|https://access.redhat.com/containers/#/registry.access.redhat.com/rhscl/nodejs-10-rhel7[rhscl/nodejs-10-rhel7]
|NPM
|*Java*
|https://access.redhat.com/containers/#/registry.access.redhat.com/redhat-openjdk-18/openjdk18-openshift[redhat-openjdk-18/openjdk18-openshift]
|Maven, Gradle
|
|https://access.redhat.com/containers/#/registry.access.redhat.com/openjdk/openjdk-11-rhel8[openjdk/openjdk-11-rhel8]
|Maven, Gradle
|
|https://access.redhat.com/containers/#/registry.access.redhat.com/openjdk/openjdk-11-rhel7[openjdk/openjdk-11-rhel7]
|Maven, Gradle
|===
[id="odo-listing-available-images"]
==== 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:
. Log in to the cluster with `{odo-title}`:
+
----
$ odo login -u developer -p developer
----
. 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.