Giter Site home page Giter Site logo

danielchudc / odo Goto Github PK

View Code? Open in Web Editor NEW

This project forked from redhat-developer/odo

0.0 1.0 0.0 136.13 MB

odo - Developer-focused CLI for OpenShift and Kubernetes

Home Page: https://odo.dev

License: Apache License 2.0

Makefile 0.48% Go 97.35% Shell 1.45% C# 0.04% JavaScript 0.11% Java 0.42% Python 0.01% HTML 0.14% Dockerfile 0.01%

odo's Introduction

odo - Developer-focused CLI for Kubernetes and OpenShift

GitHub release Build Status License

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

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

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.

Official Devfiles

Devfiles describe your development environment link. Click here for more information on Devfile.

Table 1. List of Devfiles which are officially supported by odo
Language Devfile Name Description Devfile Source Supported Platform

Java

java-maven

Upstream Maven and OpenJDK 11

java-maven/devfile.yaml

amd64

Java

java-openliberty

Open Liberty microservice in Java

java-openliberty/devfile.yaml

amd64

Java

java-quarkus

Upstream Quarkus with Java+GraalVM

java-quarkus/devfile.yaml

amd64

Java

java-springboot

Spring Boot® using Java

java-springboot/devfile.yaml

amd64

Node.JS

nodejs

Stack with NodeJS 12

nodejs/devfile.yaml

amd64, s390x, ppc64le

Listing available Devfiles

Note

The list of available Devfiles is sourced from the official 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

Installing odo

To install on Linux / Windows / macOS follow our guide located on odo.dev. 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

Communication channels

Discussions:

Chat:

All of our developer and user discussions happen in the #odo channel on the official Kubernetes Slack.

If you haven’t already joined the Kubernetes Slack, you can invite yourself here.

Ask questions, inquire about odo or even discuss a new feature.

Issues:

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

Documentation Issues:

Contributing

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.

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)

  • #2756 - Add odo deploy command for initial transition from inner to outer loop

  • #3026 - Support for Knative:Service (odo deploy)

  • #3782 - Devfile support followup

  • #2618 - Link via ServiceBindingRequest

  • #2613 - Instantiate and manage services through Operator

  • #4192 - Show components created by other tools in odo

  • #3132 - control over how rsync and start/stop happens

2.2 Planning

  • #1238 - Integration with pipelines (CI)

  • #4094 - Builds v2 Support (odo deploy should provide initial support for build v2 strategy)

  • #2540 - e2e tests on windows & macOS

2.3 Planning

  • #3026 - Support for Knative Eventing

  • #3664 - Add --now option support for Storage

  • #3126 - allow .devfile.yaml

  • #2191 - URL support for https

Projects using odo

Experimental mode

Want to try out the odo experimental mode? Please read the document for more information.

odo's People

Contributors

kadel avatar cdrage avatar mik-dass avatar girishramnani avatar concaf avatar surajnarwade avatar amitkrout avatar metacosm avatar prietyc123 avatar syamgk avatar dharmit avatar mohammedzee1000 avatar anmolbabu avatar geoand avatar johnmcollier avatar ashetty1 avatar maysunfaisal avatar geekarthur avatar yangcao77 avatar jichenjc avatar zhengxiaomei123 avatar danielhelfand avatar jgwest avatar preeticp avatar sarveshtamba avatar devang-gaur avatar piyush-garg avatar dgolovin avatar kanchwala-yusuf avatar jorgemoralespou avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.