kubevela

module
v1.0.0-rc2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 26, 2021 License: Apache-2.0

README

Build status Go Report Card Docker Pulls codecov LICENSE Releases TODOs Twitter Artifact HUB

alt

Make shipping applications more enjoyable.

KubeVela

KubeVela is the platform engine to create PaaS-like experience on Kubernetes, in a scalable approach.

Community

NOTE: KubeVela is still iterating quickly. It's currently under pre-beta release.

What problems does it solve?

Building developer-centric platforms with Kubernetes requires higher level primitives which is out-of-scope of Kubernetes itself. Hence, we platform teams build abstractions.

However, great in flexibility and extensibility, the existing solutions such as IaC (Infrastructure-as-Code) and client-side templating tools all lead to Configuration Drift (i.e. the generated instances are not in line with the expected configuration) which is a nightmare in production.

KubeVela allows platform teams to create developer-centric abstractions with IaC but maintain them with the battle tested Kubernetes Control Loop. Think about a plug-in that turns your Kubernetes cluster into a "PaaS" via abstractions designed by yourself.

Getting Started

Features

  • Robust, repeatable and extensible approach to create and maintain abstractions - design your abstractions with CUE or Helm, ship them to your end users by kubectl apply -f, upgrade your abstractions at runtime, no restart, no recompiling, and let Kubernetes controller guarantee determinism of the abstractions, no configuration drift.
  • Generic progressive rollout framework - built-in rollout framework and strategies to upgrade your microservice regardless of its workload type (e.g. stateless, stateful, or even custom operators etc), seamless integration with observability systems.
  • Multi-enviroment app delievry model (WIP) - built-in model to deliver or rollout your apps across multiple enviroments and/or clusters, seamless integration with Service Mesh for traffic management.
  • Simple and Kubernetes native - KubeVela is just a simple custom controller, all its app delivery abstractions and features are defined as Kubernetes Custom Resources so they naturally work with any CI/CD or GitOps tools.

Documentation

Visit the KubeVela documentation site to find Installation Instruction, Platform Builder Guide and Developer Experience Guide.

Talks and Conferences

Engagement Link
🎤 Talks - KubeVela - The Modern App Delivery System in Alibaba
🌎 KubeCon - [NA 2020] Standardizing Cloud Native Application Delivery Across Different Clouds
- [EU 2021] Zero Pain Microservice Development and Deployment with Dapr and KubeVela
📺 Conferences - Dapr, Rudr, OAM: Mark Russinovich presents next gen app development & deployment
- Mark Russinovich presents "The Future of Cloud Native Applications with OAM and Dapr"

Contributing

Check out CONTRIBUTING to see how to develop with KubeVela.

Code of Conduct

KubeVela adopts CNCF Code of Conduct.

Directories

Path Synopsis
Package apis contains all api types of KubeVela
Package apis contains all api types of KubeVela
core.oam.dev
Package core_oam_dev contains API Schema definitions for the core.oam.dev v1alpha2 API group
Package core_oam_dev contains API Schema definitions for the core.oam.dev v1alpha2 API group
core.oam.dev/common
Package common contains types required for both v1alpha2 and v1beta1 +kubebuilder:object:generate=true
Package common contains types required for both v1alpha2 and v1beta1 +kubebuilder:object:generate=true
core.oam.dev/v1alpha2
Package v1alpha2 contains resources relating to the Open Application Model.
Package v1alpha2 contains resources relating to the Open Application Model.
core.oam.dev/v1beta1
Package v1beta1 contains resources relating to the Open Application Model.
Package v1beta1 contains resources relating to the Open Application Model.
standard.oam.dev/v1alpha1
Package v1alpha1 contains API Schema definitions for the standard v1alpha1 API group +kubebuilder:object:generate=true +groupName=standard.oam.dev
Package v1alpha1 contains API Schema definitions for the standard v1alpha1 API group +kubebuilder:object:generate=true +groupName=standard.oam.dev
cmd
core command
hack
chart command
crd command
docgen command
frontend command
references command
legacy
convert command
pkg
appfile/helm/flux2apis
Package apis contains typed structs from fluxcd/helm-controller and fluxcd/source-controller.
Package apis contains typed structs from fluxcd/helm-controller and fluxcd/source-controller.
controller/core.oam.dev/v1alpha2/core/components
Package components provides components related controllers.
Package components provides components related controllers.
controller/core.oam.dev/v1alpha2/core/scopes
Package scopes provides scope related controllers.
Package scopes provides scope related controllers.
controller/core.oam.dev/v1alpha2/core/traits
Package traits provides traits related controllers.
Package traits provides traits related controllers.
controller/core.oam.dev/v1alpha2/core/workloads
Package workloads provides workloads related controllers.
Package workloads provides workloads related controllers.
cue
dsl
oam
Package oam contains miscellaneous OAM helper types.
Package oam contains miscellaneous OAM helper types.
oam/mock
Package mock provides fake OAM resources for use in tests.
Package mock provides fake OAM resources for use in tests.
references
cli
cmd/apiserver command
cmd/cli command
test

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL