kubevela

module
v1.12.0-alpha.1 Latest Latest
Warning

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

Go to latest
Published: Oct 20, 2026 License: Apache-2.0

README



Make shipping applications more enjoyable.

Build status Go Report Card Docker Pulls codecov LICENSE Releases TODOs Twitter Artifact HUB CII Best Practices E2E status OpenSSF Scorecard

Introduction

KubeVela is a modern application delivery platform that makes deploying and operating applications across today's hybrid, multi-cloud environments easier, faster and more reliable.

kubevela

Highlights

KubeVela practices the "render, orchestrate, deploy" workflow with below highlighted values added to existing ecosystem:

Deployment as Code

Declare your deployment plan as workflow, run it automatically with any CI/CD or GitOps system, extend or re-program the workflow steps with CUE. No ad-hoc scripts, no dirty glue code, just deploy. The deployment workflow in KubeVela is powered by Open Application Model.

Built-in observability, multi-tenancy and security support

Choose from the wide range of LDAP integrations we provided out-of-box, enjoy enhanced multi-tenancy and multi-cluster authorization and authentication, pick and apply fine-grained RBAC modules and customize them as per your own supply chain requirements. All delivery process has fully automated observability dashboards.

Multi-cloud/hybrid-environments app delivery as first-class citizen

Natively supports multi-cluster/hybrid-cloud scenarios such as progressive rollout across test/staging/production environments, automatic canary, blue-green and continuous verification, rich placement strategy across clusters and clouds, along with automated cloud environments provision.

Lightweight but highly extensible architecture

Minimize your control plane deployment with only one pod and 0.5c1g resources to handle thousands of application delivery. Glue and orchestrate all your infrastructure capabilities as reusable modules with a highly extensible architecture and share the large growing community addons.

Getting Started

Get Your Own Demo with Alibaba Cloud

  • install KubeVela on a Serverless K8S cluster in 3 minutes, try:

    Deploy on Alibaba Cloud

Documentation

Full documentation is available on the KubeVela website. For building, running, and debugging vela-core locally, see docs/development/.

Blog

Official blog is available on KubeVela blog.

Community

We want your contributions and suggestions! One of the easiest ways to contribute is to participate in discussions on the Github Issues/Discussion, chat on IM or the community calls. See COMMUNITY.md for Slack, DingTalk, WeChat, and meeting info, and the KubeVela community repo for joining links, the current meeting schedule, and developer and contributing guidelines.

Talks and Conferences

Check out KubeVela videos for these talks and conferences.

Contributing

Check out CONTRIBUTING.md to see how to develop with KubeVela.

Report Vulnerability

Security is a first priority thing for us at KubeVela. See SECURITY.md to report an issue privately, or send email directly to security@mail.kubevela.io.

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
config.oam.dev
Package config_oam_dev contains API Schema definitions for the config.oam.dev API group
Package config_oam_dev contains API Schema definitions for the config.oam.dev API group
config.oam.dev/v1alpha1
Package v1alpha1 contains the CRD-native config management API types: ConfigTemplate and Config.
Package v1alpha1 contains the CRD-native config management API types: ConfigTemplate and Config.
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/condition
Package condition contains condition types +kubebuilder:object:generate=true
Package condition contains condition types +kubebuilder:object:generate=true
core.oam.dev/v1alpha1
Package v1alpha1 contains resources relating to the Open Application Model.
Package v1alpha1 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.
cmd
core command
plugin command
e2e
addon/mock command
hack
crd/dispatch command
docgen/cli command
docgen/def command
pkg
addon/service
Package service provides a render-only addon service: it resolves an addon from the registry and renders its Application plus auxiliaries, without dispatching anything to the cluster.
Package service provides a render-only addon service: it resolves an addon from the registry and renders its Application plus auxiliaries, without dispatching anything to the cluster.
addon/service/api
Package api holds the leaf types and injection seam shared between the render-only addon service and the CueX addon provider.
Package api holds the leaf types and injection seam shared between the render-only addon service and the CueX addon provider.
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.
appkeeper
Package appkeeper builds a ResourceKeeper for an Application: it is the Application's implementation of the kind-agnostic library in pkg/resourcekeeper.
Package appkeeper builds a ResourceKeeper for an Application: it is the Application's implementation of the kind-agnostic library in pkg/resourcekeeper.
cmd
componenthealth
Package componenthealth evaluates a component's health from its live resources without an Application or a render context: everything rendering would have supplied is passed in, as the hub puts it in a Component for vela-agent (design/vela-core/agent-dispatch.md).
Package componenthealth evaluates a component's health from its live resources without an Application or a render context: everything rendering would have supplied is passed in, as the hub puts it in a Component for vela-agent (design/vela-core/agent-dispatch.md).
controller/config.oam.dev/v1alpha1/migration
Package migration runs the legacy config adoption sweep at controller startup when the AutoMigrateLegacyConfigs feature gate is on.
Package migration runs the legacy config adoption sweep at controller startup when the AutoMigrateLegacyConfigs feature gate is on.
controller/core.oam.dev/v1beta1/core/components
Package components provides components related controllers.
Package components provides components related controllers.
controller/core.oam.dev/v1beta1/core/traits
Package traits provides traits related controllers.
Package traits provides traits related controllers.
cue
cue/cuex/providers/addon
Package addon provides the CueX `addon.#Render` provider, which resolves and renders an addon via the injected render-only service.
Package addon provides the CueX `addon.#Render` provider, which resolves and renders an addon via the injected render-only service.
cue/cuex/providers/kuberead
Package kuberead serves `vela/kube` to SourceDefinitions with the writes removed.
Package kuberead serves `vela/kube` to SourceDefinitions with the writes removed.
cue/cuex/providers/module
Package module provides the CueX `module.#Render` provider, which fetches a module and renders its owned Application via the injected render service.
Package module provides the CueX `module.#Render` provider, which fetches a module and renders its owned Application via the injected render service.
cue/cuex/providers/registry
Package registry provides a CueX provider that reads a file out of a configured addon registry.
Package registry provides a CueX provider that reads a file out of a configured addon registry.
cue/cuex/providers/validation
Package validation carries the marker that tells CueX providers they are evaluating an Application for admission rather than rendering it for real.
Package validation carries the marker that tells CueX providers they are evaluating an Application for admission rather than rendering it for real.
cue/cuex/providers/velaconfig
Package velaconfig provides a CueX provider that reads a KubeVela Config's properties.
Package velaconfig provides a CueX provider that reads a KubeVela Config's properties.
cue/cuex/providers/velaconfig/reader
Package reader implements vela/velaconfig's Reader over pkg/config.
Package reader implements vela/velaconfig's Reader over pkg/config.
cue/render
Package render holds the CUE template helpers shared by the workload/trait render engine and by source resolution.
Package render holds the CUE template helpers shared by the workload/trait render engine and by source resolution.
cue/upgrade
Package upgrade provides CUE version-compatibility helpers for KubeVela.
Package upgrade provides CUE version-compatibility helpers for KubeVela.
definition
Package definition contains some helper functions used in vela CLI and vela addon mechanism
Package definition contains some helper functions used in vela CLI and vela addon mechanism
definition/cachekey
Package cachekey derives a SourceDefinition's cache key from the context its template reads.
Package cachekey derives a SourceDefinition's cache key from the context its template reads.
definition/celexpr
Package celexpr binds KubeVela's expression roots to the engine in github.com/kubevela/pkg/cel: it declares source, context and component, and types source and context from binding schemas and the surface registry.
Package celexpr binds KubeVela's expression roots to the engine in github.com/kubevela/pkg/cel: it declares source, context and component, and types source and context from binding schemas and the surface registry.
definition/cuetest/ginkgotest
Package ginkgotest runs *_test.cue definition tests as Ginkgo specs.
Package ginkgotest runs *_test.cue definition tests as Ginkgo specs.
definition/defkit
Package defkit provides a Go SDK for authoring KubeVela X-Definitions.
Package defkit provides a Go SDK for authoring KubeVela X-Definitions.
definition/defkit/testing/matchers
Package matchers provides custom Gomega matchers for testing defkit definitions.
Package matchers provides custom Gomega matchers for testing defkit definitions.
definition/deftest
Package deftest holds test helpers for definitions written in CUE.
Package deftest holds test helpers for definitions written in CUE.
definition/goloader
Package goloader provides functionality to load and process Go-based KubeVela definitions.
Package goloader provides functionality to load and process Go-based KubeVela definitions.
definition/inherit
Package inherit renders a definition that extends another.
Package inherit renders a definition that extends another.
definition/nsrestrict
Package nsrestrict reads a definition's restrictions: which namespaces' Applications may use it.
Package nsrestrict reads a definition's restrictions: which namespaces' Applications may use it.
kubeutil
Package kubeutil holds the small object helpers the resourcekeeper library needs, copied from pkg/oam/util and pkg/utils so the library depends on neither.
Package kubeutil holds the small object helpers the resourcekeeper library needs, copied from pkg/oam/util and pkg/utils so the library depends on neither.
logging
Package logging provides structured logging utilities for KubeVela webhooks with focus on request traceability and observability.
Package logging provides structured logging utilities for KubeVela webhooks with focus on request traceability and observability.
module
Package module implements the on-disk module package format: a parser that reads a module source tree into a validated Module model, shared by vela module publish, the registry fetch, and vela module deploy.
Package module implements the on-disk module package format: a parser that reads a module source tree into a validated Module model, shared by vela module publish, the registry fetch, and vela module deploy.
module/naming
Package naming holds the module naming rules shared by the side that writes definition names and the side that reads them back: the render service derives {module}-{apiVersion}-{name} when installing a module, and type resolution derives the same string when an Application refers to a module capability.
Package naming holds the module naming rules shared by the side that writes definition names and the side that reads them back: the render service derives {module}-{apiVersion}-{name} when installing a module, and type resolution derives the same string when an Application refers to a module capability.
module/service
Package service fetches a module from a registry and parses it into a module.Module, server-side, for the type: module render path.
Package service fetches a module from a registry and parses it into a module.Module, server-side, for the type: module render path.
module/service/api
Package api holds the leaf types and injection seam shared between the module render service and the CueX module provider.
Package api holds the leaf types and injection seam shared between the module render service and the CueX module provider.
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.
registry
Package registry provides a minimal interface-based provider registry for breaking import cycles in the codebase.
Package registry provides a minimal interface-based provider registry for breaking import cycles in the codebase.
registry/component
Package component holds the package-source machinery shared by the addon and module implementations: the Registry model and its data store, the readers that speak git, OSS and OCI, and the OCI chart helpers.
Package component holds the package-source machinery shared by the addon and module implementations: the Registry model and its data store, the readers that speak git, OSS and OCI, and the OCI chart helpers.
resourcekeeper
Package resourcekeeper applies an owner's resources, records them in ResourceTrackers and garbage-collects the ones it no longer renders.
Package resourcekeeper applies an owner's resources, records them in ResourceTrackers and garbage-collects the ones it no longer renders.
resourcetracker
Package resourcetracker records what an owner has applied, so it can be garbage-collected when the owner stops rendering it or goes away.
Package resourcetracker records what an owner has applied, so it can be garbage-collected when the owner stops rendering it or goes away.
utils/kubeconfig
Package kubeconfig reports whether a Kubernetes client configuration can be resolved, without terminating the process when it cannot.
Package kubeconfig reports whether a Kubernetes client configuration can be resolved, without terminating the process when it cannot.
utils/requiredcrds
Package requiredcrds verifies at startup that the CRDs vela-core depends on are served by the cluster.
Package requiredcrds verifies at startup that the CRDs vela-core depends on are served by the cluster.
utils/servingcert
Package servingcert keeps a self-signed CA and a serving cert for an in-cluster Service in a Secret, and renews them.
Package servingcert keeps a self-signed CA and a serving cert for an in-cluster Service in a Secret, and renews them.
webhook/certs
Package certs sets up the serving cert of the vela-core admission webhooks.
Package certs sets up the serving cert of the vela-core admission webhooks.
webhook/core.oam.dev/v1beta1/application/addon
Package addon holds the admission-time checks for type: addon Application components.
Package addon holds the admission-time checks for type: addon Application components.
webhook/core.oam.dev/v1beta1/application/module
Package module holds the admission-time checks for type: module Application components.
Package module holds the admission-time checks for type: module Application components.
webhook/core.oam.dev/v1beta1/workflowstepdefinition
Package workflowstepdefinition provides admission control validation for WorkflowStepDefinition resources in KubeVela.
Package workflowstepdefinition provides admission control validation for WorkflowStepDefinition resources in KubeVela.
workflow/providers/legacy/config
Package config is the legacy (vela/op style) registration of the config workflow steps.
Package config is the legacy (vela/op style) registration of the config workflow steps.
references
cli
cmd/cli command
test

Jump to

Keyboard shortcuts

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