We're so glad to announce the KubeVela v1.5 release! 🎉 🎉 In this release, we have greatly improve the addon framework, CLI and UI user experiences with lots of enhancement! Thanks to all our contributors! ❤️❤️
Highlight Features
Addon Framework Enhancement
We have enhanced the whole addon framework, including provide a whole lifecycle of addon from create a scaffold, package and push to an addon registry. Support define addon in CUE format and using CUE parameters to render components partially.
The detail features are as follows:
- Feat: add views folder for velaql views for addon (#3905) by @Hanmengnan in #4154 #4172
- Feat: implement addon init command to create a scaffold by @charlie0129 in #4162 #4370 #4434
- Feat: implement addon push command by @charlie0129 in #4261
- Feat: search useful addon version automatically by @Hanmengnan in #4232
- Feat: filter definitions by which addon installed them by @charlie0129 in #4156
- Feat: print addon parameters recursively by @charlie0129 in #4290
- Feat(cli): avoid incorrect addon name when using dot as local addon path by @charlie0129 in #4126
- Fix: add addon version check and generate version for addon on its annotation on packaging by @wangyikewxgm in #4284
- Feat: print complex values in addon parameters by @charlie0129 in #4309
- Feat: Addon support app template written by cuelang. by @wangyikewxgm in #4401
- Feat: support addon helm repo skip tls verify (#4122) by @TIEDPAG in #4146
- Feat: support outputs for addon by @wangyikewxgm in #4444
- Feat: support vela addon enable with cue template in one package by @wonderflow in #4443
- Fix: address failure when rendering addon API schemas by @charlie0129 in #4433
- Fix: vela addon upgrade missing the history args by @StevenLeiZhang in #4388
- Feat: show warnings about internal addon rendering logic by @charlie0129 in #4472
- Feat: Check def binding to a component by @wangyikewxgm in #4531
- Fix: check definition of addon whether is conflict #4493
Vela CLI
We also enhanced vela cli commands a lot, support new commands as follows:
- Feat: enhance
vela ql
and support cue file by @wonderflow in #4196 #4267 - Feat: support
vela dry-run
for app policy by @wonderflow in #4201 - Feat: add cache for remote terraform module in
vela show
by @wonderflow in #4256 - Feat: support stdin and url for
vela ql
by @wonderflow in #4274 - Feat: show or list revisions in
vela def get
andvela show
by @charlie0129 in #4307 - Feat: create VelaQL views using
vela ql apply
by @charlie0129 in #4324 - Feat: support read from URL for
--file
command globally by @wonderflow in #4346 - Feat: don't ask user confirmation when
vela delete
with--force
or--yes
by @sumit-tembe in #4259 - Feat: support resource topology for
vela status --endpoints
by @wonderflow in #4362 - Feat: support
vela def apply
for yaml definition by @wonderflow in #4372 - Feat: provide default namespace for
vela dry-run
by @ZhongsJie96 in #4416 - Feat: support
vela kube apply
for CUE and JSON files by @wonderflow in #4420 - Feat: get raw Application yaml, json or jsonpath by @charlie0129 in #4415
- Feat: command
vela def apply
support directory by @ivyilike in #4142 - Feat: adapt
vela port-forward
with the velaql by @wonderflow in #4439 - Feat: delete multi apps from
vela delete
cli command by @ArenaSu in #4484 - Feat: System Info & Diagnose in
vela system
command by @foursevenlove in #4379 - Feat: support set labels for
vela env
by @huanghantao in #4422 - Feat: refactor CLI commands related to resources by @barnettZQG in #4500
Vela UI & APIServer
The VelaUX has supported manage application created by CLI now! More than that, you will have a cloud shell that can use vela CLI in the web !
- Feat: support to manage the CLI-created apps in VelaUX by @barnettZQG in #4197
- Feat: add the CloudShell feature by @barnettZQG in #4280
- Fix: fail to query the application logs with the special characters by @barnettZQG in #4305
- Feat: supports difference compare modes for multiple objects by @barnettZQG in #4334
- Feat: velaux support override policy by @wangyikewxgm in #4352
- Feat: optimize the dry run feature by @barnettZQG in #4364
- Feat: support to sync the revision and the workflow status by @barnettZQG in #4419
- Feat: support to init the roles of the user who login by dex by @barnettZQG in #4431
- Fix: support to test authentication with dex by @barnettZQG in #4429
- Fix: the history applications are repeatedly synchronized by @barnettZQG in #4447
- Fix: the project manager has no permission to query the project base info by @barnettZQG in #4380
- Fix: CloudShell read-only authorization is not automatically revoked by @ barnettZQG in #4495
Component
- Feat: support read from url in ref-objects by @Somefive in #4240 #4446
- Fix: wrong env from secret or configmap in task and cron-task componentdefinition by @Carmendelope in #4252
- Feat: support self-signed helm repo by @wangyikewxgm in #4322
- Feat: support daemonset in component definition by @Somefive in #4335
- Feat: add the daemonset resource rule for building the tree by @barnettZQG in #4525
Traits
- Feat: Support kruise canary rollout by @wangyikewxgm in #4243
- Feat: enhance ServiceAccount trait to support privileges by @Somefive in #4276
- Fix: enhance sidecar & init traits by @Somefive in #4341
- Feat: support HTTPRoute to generate endpoint by @barnettZQG in #4378
- Feat: add status check for
expose
trait by @Somefive in #4356 - Feat: add http status and code from http cmd run by @ArenaSu in #4516
- Fix: storage and env trait conflict by @Somefive in #4523
Policy
- Feat: support shared-resource policy by @Somefive in #4213
- Feat: addon env name and alias for policy by @wangyikewxgm in #4383
- Feat: add several policy definition by @Somefive in #4409
Workflow
- Feat: add timeout in workflow step by @FogDong in #4121 #4226
- Feat: support more expressions in if and op.Fail by @FogDong in #4151
- Feat: add DAG mode and meta in workflow by @FogDong in #4206
- Feat: add metrics for workflow and app phase by @Somefive in #4236
- Feat: store outputs for unsuccessful steps in workflow context by @FogDong in #4270
- Feat: support the dash case in if validate for inputs by @FogDong in #4253
- Feat: add pending phase in workflow step by @FogDong in #4365
Enhancement
- Feat: disable comprev when rollout trait not used by @Somefive in #4281
- Feat: optimize imports packages to reduce 75% cpu with better performance by @FogDong in #4345
- Feat: enhance deploy workflow step generator by @Somefive in #4315
- Fix: filter last applied config for CRD to reduce the object size by @wonderflow in #4331
- Fix: disable apprev status update when apprev disabled by @Somefive in #4337
- Fix: prevent apply existing orphan resource by @Somefive in #4399
Convenience & Beauty
- Feat: Add description column to vela trait and component command by @hprotzek in #4107
- Feat: render color for outputs of vela up command by @JarHMJ in #4133
- Feat: definition support alias by @zhiyuone in #4185
- Fix: skip endpoint table if no endpoints are found in addons by @charlie0129 in #4166
- Feat: omit service output if there's nothing by @sumit-tembe in #4260
- Chore: refine the output of velaux addon by @wonderflow in #4332
- Feat: generate docs for reference automatically by @wonderflow in #4377
- Chore: update description of policy/workflowstep definition by @wonderflow in #4428
- Fix: ignore save when source is local path by @ZhongsJie96 in #4417
- Chore: organize appliesToWorkloads field of trait defs, add doc example by @chivalryq in #4483
- Fix: repeat query configuration type by @ghostloda in #4492
- Feat: report the manifest name when addon enabling failed by @ghostloda in #4545
Other Bugfixes
- Fix: context.namespace use the namespace from override policy by @Somefive in #4291
- Fix: fix the goroutine leak in CUE when use http request by @FogDong in #4298
- Fix: health check use original ns if no override and original exists by @Somefive in #4349
- Fix: The apply failure error is ignored when the workflow is executed by @yangsoon in #4455
- Fix: address vela-core crash due to empty policy properties by @charlie0129 in #4473
- Fix: empty health policy do not check object existence #4496
How to install
Install Vela Core by Using Vela CLI
curl -fsSl https://kubevela.io/script/install.sh | bash -s 1.5.0
vela install -v 1.5.0
Install Vela Core by Using Helm:
helm repo add kubevela https://charts.kubevela.net/core
helm repo update
helm install --create-namespace -n vela-system kubevela kubevela/vela-core --version 1.5.0 --wait
Install VelaUX addon
vela addon enable velaux --version=v1.5.0
How to upgrade from old version?
Refer to the docs( https://kubevela.net/docs/platform-engineers/system-operation/migration-from-old-version ) if you're migrating from older version(<1.3.6).
Upgrade by using Vela CLI
The install command will also handle the upgrade automatically:
curl -fsSl https://kubevela.io/script/install.sh | bash -s 1.5.0
vela install -v 1.5.0 -r
Upgrade by using Helm
- Upgrade the CRDs, please make sure you upgrade the CRDs first before upgrade the helm chart.
kubectl apply -f https://raw.githubusercontent.com/oam-dev/kubevela/release-1.5/charts/vela-core/crds/core.oam.dev_applicationrevisions.yaml
kubectl apply -f https://raw.githubusercontent.com/oam-dev/kubevela/release-1.5/charts/vela-core/crds/core.oam.dev_applications.yaml
kubectl apply -f https://raw.githubusercontent.com/oam-dev/kubevela/release-1.5/charts/vela-core/crds/core.oam.dev_resourcetrackers.yaml
kubectl apply -f https://raw.githubusercontent.com/oam-dev/kubevela/release-1.5/charts/vela-core/crds/core.oam.dev_componentdefinitions.yaml
kubectl apply -f https://raw.githubusercontent.com/oam-dev/kubevela/release-1.5/charts/vela-core/crds/core.oam.dev_definitionrevisions.yaml
- Upgrade your kubevela chart
helm repo add kubevela https://charts.kubevela.net/core
helm repo update
helm upgrade -n vela-system --install kubevela kubevela/vela-core --version 1.5.0 --wait
- Download the new CLI and enable velaux
curl -fsSl https://kubevela.io/script/install.sh | bash -s 1.5.0
vela addon enable velaux
Upgrade VelaUX
vela addon upgrade velaux --version=v1.5.0
New Contributors
- @ghostloda made their first contribution in #4492
- @huanghantao made their first contribution in #4422
- @foursevenlove made their first contribution in #4379
- @sumit-tembe made their first contribution in #4260
- @huiwq1990 made their first contribution in #4282
- @jiangshantao-dbg made their first contribution in #4319
- @TIEDPAG made their first contribution in #4146
- @maoyangLiu made their first contribution in #4186
Full Changelog: v1.4.3...v1.5.0