mirror of
				https://github.com/redhat-developer/odo.git
				synced 2025-10-19 03:06:19 +03:00 
			
		
		
		
	 2180507a48
			
		
	
	2180507a48
	
	
	
		
			
			Open VSX is an open registry for VS Code extensions. OpenShift Connector is listed there as well.
		
			
				
	
	
		
			232 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			232 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| [id="readme"]
 | |
| = `odo` - Developer-focused CLI for Kubernetes and OpenShift
 | |
| :toc: macro
 | |
| :toc-title:
 | |
| :toclevels: 1
 | |
| 
 | |
| https://github.com/openshift/odo/releases/latest[image:https://img.shields.io/github/v/release/openshift/odo?style=for-the-badge[GitHub release]]
 | |
| https://travis-ci.com/openshift/odo[image:https://img.shields.io/travis/com/openshift/odo?style=for-the-badge[Build Status]]
 | |
| image:https://img.shields.io/github/license/openshift/odo?style=for-the-badge[License]
 | |
| 
 | |
| 
 | |
| [[overview]]
 | |
| == Overview
 | |
| 
 | |
| `odo`  is a fast, iterative, and straightforward CLI tool for developers who write, build, and deploy applications on Kubernetes and OpenShift.
 | |
| 
 | |
| Existing tools such as `kubectl` and `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.
 | |
| 
 | |
| [[key-features]]
 | |
| == 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 additional server other than Kubernetes or OpenShift is required for deployment.
 | |
| * Official support for Node.js and Java components.
 | |
| * 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]]
 | |
| == 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: e-Shop, Hotel Reservation System, Online Booking
 | |
| 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: Warehouse API Backend, Inventory API, Web Frontend, Payment Backend
 | |
| Service::
 | |
| A service is software that your component links to or depends on.
 | |
| Examples of services: MariaDB, MySQL.
 | |
| Devfile::
 | |
| A portable file responsible for your entire reproducible development environment.
 | |
| 
 | |
| [id="odo-supported-devfiles"]
 | |
| === Official Devfiles
 | |
| 
 | |
| Devfiles describe your development environment link. link:https://odo.dev/docs/deploying-a-devfile-using-odo/[Click here for more information on Devfile.]
 | |
| 
 | |
| .List of Devfiles which are officially supported by odo
 | |
| [options="header"]
 | |
| |===
 | |
| |Language | Devfile Name | Description | Devfile Source | Supported Platform
 | |
| 
 | |
| | Java
 | |
| | java-maven
 | |
| | Upstream Maven and OpenJDK 11
 | |
| | link:https://github.com/odo-devfiles/registry/blob/master/devfiles/java-maven/devfile.yaml[java-maven/devfile.yaml]
 | |
| | amd64
 | |
| 
 | |
| | Java
 | |
| | java-openliberty
 | |
| | Open Liberty microservice in Java      
 | |
| | link:https://github.com/odo-devfiles/registry/blob/master/devfiles/java-openliberty/devfile.yaml[java-openliberty/devfile.yaml]
 | |
| | amd64
 | |
| 
 | |
| | Java
 | |
| | java-quarkus
 | |
| | Upstream Quarkus with Java+GraalVM
 | |
| | link:https://github.com/odo-devfiles/registry/blob/master/devfiles/java-quarkus/devfile.yaml[java-quarkus/devfile.yaml]
 | |
| | amd64
 | |
| 
 | |
| | Java
 | |
| | java-springboot
 | |
| | Spring Boot® using Java 
 | |
| | link:https://github.com/odo-devfiles/registry/blob/master/devfiles/java-springboot/devfile.yaml[java-springboot/devfile.yaml]
 | |
| | amd64
 | |
| 
 | |
| | Node.JS
 | |
| | nodejs
 | |
| | Stack with NodeJS 12
 | |
| | link:https://github.com/odo-devfiles/registry/blob/master/devfiles/nodejs/devfile.yaml[nodejs/devfile.yaml]
 | |
| | amd64, s390x, ppc64le
 | |
| 
 | |
| |===
 | |
| [id="odo-listing-available-images"]
 | |
| ==== Listing available Devfiles
 | |
| 
 | |
| [NOTE]
 | |
| ====
 | |
| The list of available Devfiles is sourced from the official link:https://github.com/odo-devfiles/registry[odo registry] as well as any other registries added via `odo registry add`.
 | |
| ====
 | |
| 
 | |
| To list the available Devfiles:
 | |
| 
 | |
| ----------------------------------------------------
 | |
| $ odo catalog list components
 | |
| Odo Devfile Components:
 | |
| NAME                 DESCRIPTION                            REGISTRY
 | |
| java-maven           Upstream Maven and OpenJDK 11          DefaultDevfileRegistry
 | |
| java-openliberty     Open Liberty microservice in Java      DefaultDevfileRegistry
 | |
| java-quarkus         Upstream Quarkus with Java+GraalVM     DefaultDevfileRegistry
 | |
| java-springboot      Spring Boot® using Java                DefaultDevfileRegistry
 | |
| nodejs               Stack with NodeJS 12                   DefaultDevfileRegistry
 | |
| ----------------------------------------------------
 | |
| 
 | |
| [[official-documentation]]
 | |
| == Official documentation
 | |
| 
 | |
| 
 | |
| * link:https://odo.dev/docs/installing-odo/[Installing odo]
 | |
| * link:https://odo.dev/docs/understanding-odo/[Understanding odo]
 | |
| * link:https://odo.dev/docs/deploying-a-devfile-using-odo/[Deploying a devfile using odo]
 | |
| * link:https://odo.dev/file-reference/[Devfile file reference]
 | |
| * link:https://odo.dev/docs/debugging-applications-in-odo/[Debugging applications in odo]
 | |
| * link:https://odo.dev/docs/managing-environment-variables-in-odo/[Managing environment variables]
 | |
| * link:https://odo.dev/docs/configuring-the-odo-cli/[Configuring the odo CLI]
 | |
| * link:https://odo.dev/docs/odo-architecture/[Architecture of odo]
 | |
| * link:https://odo.dev/docs/odo-cli-reference/[odo CLI reference]
 | |
| * link:https://odo.dev/docs/operator-hub/[Introduction to Operators]
 | |
| 
 | |
| [[installing-odo]]
 | |
| == Installing `odo`
 | |
| 
 | |
| To install on Linux / Windows / macOS follow our guide located on link:https://odo.dev/docs/installing-odo[odo.dev]. All binaries and tarballs are synced between our link:https://github.com/openshift/odo/releases[GitHub releases] and link:https://mirror.openshift.com/pub/openshift-v4/clients/odo/[OpenShift mirrors].
 | |
| 
 | |
| [[deploying-your-first-application]]
 | |
| == Deploying your first application
 | |
| 
 | |
| Click on the tutorial below to deploy your first `odo` application:
 | |
| 
 | |
| link:https://odo.dev/docs/deploying-a-devfile-using-odo/[Deploying a devfile using odo]
 | |
| 
 | |
| The following demonstration provides an overview of `odo`:
 | |
| 
 | |
| https://asciinema.org/a/uIcSZvdbrFKKeH2sqrLsFdXym[image:https://asciinema.org/a/uIcSZvdbrFKKeH2sqrLsFdXym.svg[asciicast]]
 | |
| 
 | |
| [[contributing]]
 | |
| == Community, discussion, contribution, and support
 | |
| 
 | |
| 
 | |
| === Communication channels
 | |
| 
 | |
| *Discussions:*
 | |
| 
 | |
| * For general help and inquiries, join our link:https://groups.google.com/forum/#!forum/odo-users[odo-users Google group].
 | |
| * For any developmental discussion, use our link:https://groups.google.com/forum/#!forum/odo-dev[odo-dev Google group].
 | |
| 
 | |
| *Chat:* 
 | |
| 
 | |
| All of our developer and user discussions happen in the link:https://kubernetes.slack.com/archives/C01D6L2NUAG[#odo channel on the official Kubernetes Slack].
 | |
| 
 | |
| If you haven't already joined the Kubernetes Slack, you can link:https://slack.k8s.io/[invite yourself here].
 | |
| 
 | |
| Ask questions, inquire about odo or even discuss a new feature.
 | |
| 
 | |
| *Issues:* 
 | |
| 
 | |
| If you have an issue with `odo`, please link:https://github.com/openshift/odo/issues[file it].
 | |
| 
 | |
| *Documentation Issues*: 
 | |
| 
 | |
| - For any documentation issues on link:https://odo.dev[odo.dev] open a link:https://github.com/openshift/odo/issues/new?template=Documentation.md[GitHub issue with the documentation label].
 | |
| - If you have any documentation issues related to the link:https://docs.openshift.com[docs.openshift.com] site, file an issue in link:https://bugzilla.redhat.com/[Bugzilla]. Choose the OpenShift Container Platform product type and the Documentation component type.
 | |
| 
 | |
| === Contributing
 | |
| Want to become a contributor and submit your code?
 | |
| Please have a look at our link:https://github.com/openshift/odo/blob/master/docs/dev/development.adoc[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 link:https://calendar.google.com/calendar/embed?src=gi0s0v5ukfqkjpnn26p6va3jfc%40group.calendar.google.com[odo calendar] (link:https://calendar.google.com/calendar/ical/gi0s0v5ukfqkjpnn26p6va3jfc%40group.calendar.google.com/public/basic.ics[iCal format]).
 | |
| 
 | |
| To participate in the calls, please join link:https://groups.google.com/forum/#!forum/odo-dev[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.
 | |
| 
 | |
| [[odo-roadmap]]
 | |
| == Roadmap for odo
 | |
| 
 | |
| Below is a roadmap for odo where 2.1, 2.2 and 2.3 are odo versions.
 | |
| 
 | |
| === Post v2 (Before 19th Jan)
 | |
| 
 | |
| - Refactor
 | |
| - Storage of linking info in devfile so that odo push can support this as well
 | |
| 
 | |
| === 2.1 Planning (19th Jan - 13th April)
 | |
| 
 | |
| - link:https://github.com/openshift/odo/issues/2756[#2756] - Add `odo deploy` command for initial transition from inner to outer loop
 | |
| - link:https://github.com/openshift/odo/issues/3026[#3026] - Support for Knative:Service (odo deploy)
 | |
| - link:https://github.com/openshift/odo/issues/3782[#3782] - Devfile support followup
 | |
| - link:https://github.com/openshift/odo/issues/2618[#2618] - Link via ServiceBindingRequest
 | |
| - link:https://github.com/openshift/odo/issues/2613[#2613] - Instantiate and manage services through Operator
 | |
| - link:https://github.com/openshift/odo/issues/4192[#4192] - Show components created by other tools in odo
 | |
| - link:https://github.com/openshift/odo/issues/3132[#3132] - control over how rsync and start/stop happens
 | |
| 
 | |
| === 2.2 Planning 
 | |
| 
 | |
| - link:https://github.com/openshift/odo/issues/1238[#1238] - Integration with pipelines (CI)
 | |
| - link:https://github.com/openshift/odo/issues/4094[#4094] - Builds v2 Support (odo deploy should provide initial support for build v2 strategy)
 | |
| - link:https://github.com/openshift/odo/issues/2540[#2540] - e2e tests on windows & macOS
 | |
| 
 | |
| === 2.3 Planning 
 | |
| 
 | |
| - link:https://github.com/openshift/odo/issues/3026[#3026] - Support for Knative Eventing
 | |
| - link:https://github.com/openshift/odo/issues/3664[#3664] - Add --now option support for Storage
 | |
| - link:https://github.com/openshift/odo/issues/3126[#3126] - allow `.devfile.yaml`
 | |
| - link:https://github.com/openshift/odo/issues/2191[#2191] - URL support for https
 | |
| 
 | |
| [[projects-using-odo]]
 | |
| == Projects using odo
 | |
| 
 | |
| These are some of the IDE plugins which use odo:
 | |
| 
 | |
| * link:https://marketplace.visualstudio.com/items?itemName=redhat.vscode-openshift-connector[VS Code Openshift Connector]
 | |
| * link:https://open-vsx.org/extension/redhat/vscode-openshift-connector[Open VSX Openshift Connector]
 | |
| * link:http://plugins.jetbrains.com/plugin/12030-openshift-connector-by-red-hat[Openshift Connector for Intellij]
 | |
| * link:https://www.eclipse.org/codewind[Codewind for Eclipse Che]
 | |
| 
 | |
| [[experimental-mode]]
 | |
| == Experimental mode
 | |
| 
 | |
| Want to try out the odo experimental mode? Please read the link:https://github.com/openshift/odo/blob/master/docs/dev/experimental-mode.adoc[document] for more information.
 |