Coder Social home page Coder Social logo

arvindmits / rudr Goto Github PK

View Code? Open in Web Editor NEW

This project forked from abhirockzz/rudr

0.0 2.0 0.0 4.04 MB

A Kubernetes implementation of the Open Application Model specification

Home Page: https://oam.dev

License: MIT License

Rust 97.09% Dockerfile 0.86% Makefile 1.06% Smarty 0.90% Shell 0.08%

rudr's Introduction

Rudr: A Kubernetes Implementation of the Open Application Model

Rudr is an Open Application Model (OAM) implementation for Kubernetes.

Note: Rudr is currently in alpha. It may reflect the API or features we are vetting before inclusion into the OAM spec.

Why Rudr?

Kubernetes API resources focused on container infrastructure rather than the applications per se. Yet, application developers think in terms of application architecture, not of infrastructure

Rudr provides application level primitives for Kubernetes that enable:

  • The ability to define application (e.g., WordPress) in Kubernetes.
  • The ability to define operational capability (e.g., auto-scaling policy, rather than HPA) in Kubernetes.
  • A portable and self-descriptive application description which includes every dependency and operational ability the application requires to run.
  • Building an application centric abstraction atop container infrastructure.

Rudr can be used by:

  • Developers who want to describe application from developer's view, rather than learning low level primitives.
  • Operators who want to focus on strategies of operating the application, rather than infrastructure details.
  • Kubernetes engineers who want to define "application" in Kubernetes, or expose application level API to developers and operators, rather than full Kubernetes API.
  • PaaS engineers who want to build a serverless application platform atop Kubernetes, with minimal effort.
  • Software distributors who want to "define once, deploy everywhere", regardless of the differences of Kubernetes providers on multi-cloud.

Get started

Define and deploy a helloworld-python application with Rudr.

How does Rudr work?

rudr arch

Rudr defines OAM primitives as Kubernetes Custom Resource Definitions (CRDs). Hence, Rudr is able to provide OAM style application level APIs including Components for developers to define applications, and Traits for operators to define operational capabilities. Meanwhile, infra operators still work on Kubernetes itself.

Rudr controllers will maintain the mapping between OAM CRDs (e.g., Component) and Kubernetes API resources (e.g., Deployment).

Try more things out yourself

Read the documentation list for more options. Some highlights:

More samples and demos

Roadmap

Currently, Rudr relies on pre-installed workload types and traits to accomplish the task. In next release, Rudr will provide a plugin mechanism to integrate any Kubernetes Operator as workload type or operational capability. The goal is to allow users to assemble Operators ecosystem as a serverless application platform by "one click".

Contributing

This project welcomes contributions and suggestions. See CONTRIBUTING.md for more details. Below are links to join the bi-weekly community meetings and our meeting notes. Community Slack channels & mailing lists will be added shortly (~ 10/1).

Item Value
Mailing List oam-dev@@googlegroups.com
Meeting Information Bi-weekly (Starting Oct 22, 2019), Tuesdays 10:30AM PST
Bi-weekly APAC (Starting Dec 24, 2019), Tuesdays 1:00PM GMT+8
Meeting Link https://zoom.us/j/271516061
IM Channel https://gitter.im/oam-dev/
Meeting Notes Notes
Twitter @oam_dev

Governance

This project follows governance structure of numerous other open source projects. See governance.md for more details.

License

This project is available under the terms of the MIT license. See LICENSE.txt.

rudr's People

Contributors

technosophos avatar wonderflow avatar suhuruli avatar resouer avatar erikadoyle avatar hongchaodeng avatar jiria avatar fibonacci1729 avatar squillace avatar iyyappam avatar t1agob avatar macolso avatar dumbnose avatar likevi-msft avatar tomkerkhove avatar itowlson avatar chenbilong avatar xianlubird avatar mlycore avatar gunniwho avatar fengzixu avatar colstuwjx avatar amit794 avatar zhxu2 avatar samnela avatar noelbundick avatar martinpeck avatar kazuchanfl avatar slack avatar bert-r avatar

Watchers

James Cloos avatar  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.