LinuxCommandLibrary

vela

Manage and deploy applications with Vela

TLDR

Trigger a pipeline to run from a Git branch, commit or tag

$ vela add deployment --org [organization] --repo [repository_name] --target [environment] --ref [branch|commit|refs/tags/git_tag] --description "[deploy_description]"
copy

List deployments for a repository
$ vela get deployment --org [organization] --repo [repository_name]
copy

Inspect a specific deployment
$ vela view deployment --org [organization] --repo [repository_name] --deployment [deployment_number]
copy

SYNOPSIS

vela [command] [flags]

Common Commands:
vela up [application_name] [flags] - Deploys or updates an application.
vela status [application_name] [flags] - Shows the status of an application.
vela ls [flags] - Lists all applications.
vela def [command] [flags] - Manages OAM definitions (components, traits, workflows, policies).
vela show [definition_name] [flags] - Displays details of a definition.

PARAMETERS

--help, -h
    Help for any command.

--version
    Print the client and server version information.

--kubeconfig
    Path to the kubeconfig file to use for CLI requests. Defaults to ~/.kube/config.

--context
    The name of the kubeconfig context to use.

--namespace, -n
    If present, the namespace scope for this CLI request. Defaults to the current context's namespace.

DESCRIPTION

vela is the command-line interface (CLI) for KubeVela, an application delivery platform built on top of Kubernetes. It enables developers and operators to deploy, manage, and operate applications across diverse environments, including multi-cluster, hybrid cloud, and edge scenarios, in a unified and declarative manner.

KubeVela implements the Open Application Model (OAM), providing a clear separation of concerns between developers (defining application components) and operators (defining operational capabilities like scaling, traffic routing, or health checks). The vela CLI acts as the primary tool for interacting with the KubeVela control plane, allowing users to define applications, manage components and traits, inspect application status, and interact with the underlying Kubernetes resources. It abstracts away much of the complexity of raw Kubernetes YAML, offering a more application-centric approach to deployment and operations.

CAVEATS

vela is not a standard Linux command pre-installed on most operating systems. It is a specialized client-side tool for interacting with a KubeVela control plane, which itself must be installed and running on a Kubernetes cluster.

Its functionality is entirely dependent on the KubeVela installation and the Kubernetes cluster it connects to. Users must have appropriate Kubernetes cluster access configurations (e.g., via `kubeconfig`) for vela to function. Due to the rapid development of KubeVela and OAM, command syntax and available features may evolve between versions.

OPEN APPLICATION MODEL (OAM)

KubeVela, and by extension the vela CLI, is built around the Open Application Model (OAM). OAM provides a standardized, declarative way to define applications that separates concerns between developers (who define application components) and operators (who define how those components are operated, using traits, policies, and workflows). This separation promotes reusability, consistency, and portability across different environments.

EXTENSIBILITY

KubeVela is designed to be highly extensible. Users can define custom components, traits, workflows, and policies using CUE or Helm, which are then exposed and managed via the vela CLI. This allows platform builders to extend KubeVela's capabilities to suit specific organizational needs or integrate with proprietary systems, fostering a highly customizable application delivery experience.

HISTORY

The vela CLI is an integral part of the KubeVela project, which originated from the Open Application Model (OAM) specification. OAM was co-created by Alibaba Cloud and Microsoft and was later contributed to the Cloud Native Computing Foundation (CNCF). KubeVela became a CNCF sandbox project in 2020 and later moved to incubating status. The vela CLI was developed as the primary client-side tool to empower developers and operators to adopt the OAM principles for declarative, platform-agnostic application delivery on Kubernetes and beyond. Its development tracks the evolution of the KubeVela platform itself, constantly adding support for new features, components, and operational capabilities introduced by the community.

SEE ALSO

kubectl(1), helm(1), git(1)

Copied to clipboard