v1.9.0
Great thanks for all the community contributors!
Major Changes
- Support Kubernetes v1.26.
- Legacy code removal. Basically you will not be able to use EnvBinding, HealthScope, ScopeDefinition and other objects in old KubeVela (<1.0), like ApplicationConfiguration.
- Registry migrated to GitHub.
Notice: the "hub.kubevela.net", "charts.kubevela.net" and "addons.kubevela.net" will not be served in the future.
- For docker images in "hub.kubevela.net", replace it with "docker.io" or "ghcr.io/kubevela".
- For helm charts in "charts.kubevela.net", replace it with "kubevela.github.io/charts".
- For addons in "addons.kubevela.net", replace it with "kubevela.github.io/catalog/official".
You can run the following command to update your addon registry.
vela addon registry delete KubeVela vela addon registry add KubeVela --type helm --endpoint=https://kubevela.github.io/catalog/official vela addon registry add experimental --type helm --endpoint=https://kubevela.github.io/catalog/experimental
Features
- Pause Reconcile: You can add label
controller.core.oam.dev/pause: "true"
to your application to let controller skip reconciling this application. - Allow Same Component Name across Applications: You can now use the same name for components in different applications.
- Support Multicluster Adopt: You can run
vela adopt
command for multicluster resources. - Support Checking Prometheus Metrics in Workflow: You can use
check-metrics
workflow step in your workflow. - Cluster Join Allow Override: You can overwrite existing cluster kubeconfig via
vela cluster join
now. - Allow Setting Mode for Step Groups: You can customize your step groups with mode DAG or StepByStep now.
- Support ProxyURL for Multicluster: The proxy-url in kubeconfig can be recognized by multicluster connection now.
- CLI supports Cuex Eval: You can run
vela cuex eval
to evaludate your local cue files with the cuex engine. - Multiple Resource Policies: You can configure multiple same typed policies for one application now, such as
apply-once
orgarbage-collect
. - Support using Cuex Engine for Config Management
- Feat: support config validation depends on CueX by @nuclearwu in #5796
- Feat: support validate properties with CueX by @nuclearwu in #5894
- Fix: parse template disable resolve provider functions by @nuclearwu in #5905
- Support Provider Generator and DocGen Tools
- Feat: initial provider generator by @iyear in #5839
- Feat: add vela def gen-cue command by @iyear in #5956
- Feat: provider doc generator by @iyear in #5968
- Feat: only print to stdout by @iyear in #5958
- Feat: support def gen-doc command by @iyear in #5975
- Feat: add gen-cue to Makefile by @iyear in #6009
- Multiple Gateway trait supported
- Feat: Add support for multiple gateway traits by @Kolossi in #5860
- Fix: Restore service creation for gateway trait by @Kolossi in #5978
- Feat: Fix ingress service name for multiple gateway traits by @Kolossi in #6067
- Application Revision number Configurable: You can configure application revision limitation for each application via policy now.
- Resource Update Policy: You can configure application to use
replace
/recreate
/patch
for updating resources. - Force Resource Location: You can force the dispatch location of resources through setting the
app.oam.dev/cluster
label manually. - CRDs are not Required in Hub Cluster: For delivering CRD resources, you do not have to install the CRD on the hub control plane now. Only the managed cluster where those resources live need it.
- Support custom Cascading GC Policy: You can configure how the cascading behavior should be used for deleting resources.
- Addons support Dependencies Version Range: You can configure the version range for addons now.
Enhancement & Fixes
- Feat: add sub-module to Golang SDK by @chivalryq in #5655
- Fix: fix vela-minimal helm chart unrecognised options by @scodeman in #5721
- Feat: enhance vela adopt and refactor by @Somefive in #5728
- Feat: support nullable option by @iyear in #5736
- Fix: gateway message is wrong by @chivalryq in #5748
- Fix: vela top cannot set theme by @howieyuen in #5745
- Fix: component name generated by vela adopt is not in lowercase by @rhzx3519 in #5775
- Feat: expose trait with new ports by @wonderflow in #5781
- Fix: filter rollout created by rolling-release in
vela workflow resume
by @wangyikewxgm in #5783 - Feat: add type filter option by @iyear in #5789
- Feat: compatibility on componentDefinition spec.workload.definition field by @chivalryq in #5800
- Fix: fix step id to name in workflow logs by @FogDong in #5805
- Fix: can't reuse modified ref options by @iyear in #5795
- Fix: use step id to filter the log data and fix the regex by @FogDong in #5809
- Feat: compatible with k8s last-applied-configuration while perfer app.oam.dev/last-applied-configuration in annotations by @zxbyoyoyo in #5804
- Feat: support vela def vet the input "dir" and many cue files by @Mcduller in #5806
- Fix: fix multi clusters bottom in vela adopt by @FogDong in #5834
- Fix: fix the operate order in suspend & resume by @FogDong in #5841
- Fix: typo of clean-jobs example doc by @basuotian in #5855
- Fix: fix bug when dependency addon parameter is Empty by @wangyikewxgm in #5856
- Fix: fix terminate suspending steps by @FogDong in #5872
- Feat: support parse template depends on CueX by @nuclearwu in #5848
- Feat: support mark stage in gc when workflow failed by @Somefive in #5882
- Fix: make any as top value in cue by @iyear in #5893
- Fix: multi cluster inline policy load extra definitions by @Somefive in #5901
- Fix: support get helm chart values from which index.yaml urls is not … by @caiqi1111 in #5786
- Fix: upgrade cluster register to support join ocm cluster with k8s 1.24+ by @Somefive in #5907
- Fix: multicluster disable installation by @Somefive in #5922
- Fix: trait not added in Go SDK by @chivalryq in #5950
- Feat: allow empty policy name by @Somefive in #5917
- Fix: restrict the rules that automatically add topology strategy to ddons to be valid only for the yaml type by @zhaohuiweixiao in #5957
- Fix: The addon page displays the deleted addon by @suwliang3 in #5924
- Fix: fix the typo error in vela top by @Hanmengnan in #5982
- Feat: remove vela install version requirement upper bound by @Somefive in #5996
- Fix: list addon commond displays only the first 20 entries when addon registry is gitlab type by @zhaohuiweixiao in #5999
- Feat: application_controller should be responsible for deleting application revision by @dhanusaputra in #5739
- Feat: add validation for invalid definition attribute by @Somefive in #6029
- Feat(velaql): read max depth for query iterator from env. by @qashlan in #6039
- Feat: support applicator applying resources and update status by @Somefive in #6030
- Fix: ignore kind not match err for vela def by @Somefive in #6053
- Feat: expose probe params in helm chart by @yyzxw in #6044
- Fix: component-pod-view not showing podIP, hostIP, nodeName by @chivalryq in #6058
- Feat: parallel init cluster info by @yyzxw in #6060
- Fix: vela def vet can be used without Kubernetes by @Somefive in #6063
- Fix: issue command permission error by @Somefive in #6071
- Fix: typo by @susheelpal in #6069
- Fix: application gc not blocked by apprev gc by @Somefive in #6074
- Feat: optimize "application-resource-tree-view" by @suwliang3 in #6096
- Fix: addon status list addon info error when there are mulitiple registries by @zhaohuiweixiao in #6073
- Fix: can not get the APISchema when registry is not version registry by @zhaohuiweixiao in #6066
- Fix: vela addon registry add allow redirect by @Somefive in #6120
- Fix: addon args is not changed when reinstall it without args by @zhaohuiweixiao in #6065
Refactor
- Refactor: option pattern by @iyear in #5720
- Feat: add qps for load test client by @Somefive in #5733
- Feat: fix flaky multicluster test by @Somefive in #5741
- Chore: (deps): Bump rajatjindal/krew-release-bot from 0.0.43 to 0.0.46 by @dependabot in #5747
- Chore: fix definition parse logic and allow if/for comprehension & use op.#Suspend for deploy by @Somefive in #5743
- Chore: stable the version of workflow to 0.5.0 for 1.8 release by @FogDong in #5759
- Refactor: split Generate function by @iyear in #5763
- Feat: list addon with specify registry by @zhaohuiweixiao in #5780
- Chore: (deps): Bump ossf/scorecard-action from 2.1.2 to 2.1.3 by @dependabot in #5790
- Refactor: the addon dependency installation logic is accurate to the cluster by @zhaohuiweixiao in #5206
- Chore: bump testing to Kubernetes v1.26 by @chivalryq in #5816
- Feat: upgrade k8s.io to 0.26 by @Somefive in #5758
- Chore: update codeowners by @Somefive in #5818
- Feat: upgrade kubevela/pkg by @Somefive in #5819
- Chore: (deps): Bump github.com/fluxcd/helm-controller/api from 0.21.0 to 0.32.1 by @dependabot in #5798
- Chore: (deps): Bump github.com/chartmuseum/helm-push from 0.10.2 to 0.10.3 by @dependabot in #5724
- Chore: add special field name test case by @iyear in #5826
- Chore: expose functions and refactor conversion style by @iyear in #5828
- Chore: update pr template and test github copilot by @wonderflow in #5833
- Feat: migrate prism cluster by @Somefive in #5836
- Chore: (deps): Bump k8s.io/klog/v2 from 2.90.0 to 2.90.1 by @dependabot in #5830
- Fix: refine the erorr output format by @wonderflow in #5843
- Feat: add new fields for addon metadata by @wonderflow in #5845
- Chore: (deps): Bump github.com/dave/jennifer from 1.6.0 to 1.6.1 by @dependabot in #5847
- Chore: refactor e2e test by @Somefive in #5871
- Chore: (deps): Bump actions/checkout from 3.4.0 to 3.5.2 by @dependabot in #5866
- Chore: update cue to v0.5.0 by @FogDong in #5869
- Test: pend multicluster rollout test by @Somefive in #5873
- Fix: upgrade dependencies by @Somefive in #5827
- Chore: (deps): Bump github.com/xanzy/go-gitlab from 0.80.0 to 0.83.0 by @dependabot in #5884
- Chore: (deps): Bump github.com/oam-dev/cluster-gateway from 1.9.0-alpha.1.0.20230412030221-d9666385607f to 1.9.0-alpha.2 by @dependabot in #5891
- Feat: refactor vela help by @Somefive in #5895
- Chore: (deps): Bump github.com/fatih/color from 1.13.0 to 1.15.0 by @dependabot in #5898
- Chore: (deps): Bump golang.org/x/text from 0.8.0 to 0.9.0 by @dependabot in #5897
- Feat: upgrade deps by @Somefive in #5900
- Feat: remove unused crd in chart by @Somefive in #5899
- Chore: (deps): Bump github.com/containerd/containerd from 1.6.18 to 1.7.0 by @dependabot in #5892
- Chore: (deps): Bump codecov/codecov-action from 3.1.2 to 3.1.3 by @dependabot in #5910
- Chore: (deps): Bump github.com/onsi/gomega from 1.27.5 to 1.27.6 by @dependabot in #5912
- Chore: (deps): Bump sigs.k8s.io/kind from 0.17.0 to 0.18.0 by @dependabot in #5920
- Chore: (deps): Bump github.com/imdario/mergo from 0.3.13 to 0.3.15 by @dependabot in #5919
- Chore: (deps): Bump sigs.k8s.io/gateway-api from 0.4.3 to 0.6.2 by @dependabot in #5829
- Chore: update code owners by @Somefive in #5923
- Chore: refactor vela cli entrance by @Somefive in #5909
- Chore: add e2e ci env bootstrap & remove multlcluster legacy rollout ci by @Somefive in #5926
- Fix: install dependency is invalid for runtime addon when it's cluster arg is nil by @zhaohuiweixiao in #5865
- Chore: (deps): Bump github.com/form3tech-oss/jwt-go from 3.2.3+incompatible to 3.2.5+incompatible by @dependabot in #5930
- Chore: (deps): Bump github.com/go-logr/logr from 1.2.3 to 1.2.4 by @dependabot in #5929
- Chore: (deps): Bump github.com/google/go-containerregistry from 0.13.0 to 0.14.0 by @dependabot in #5927
- Chore: support /retest comment by @Somefive in #5936
- Chore: upgrade moby dependency to fix security issue by @Somefive in #5937
- Chore: (deps): Bump github.com/briandowns/spinner from 1.11.1 to 1.23.0 by @dependabot in #5824
- Chore: update dependabot settings by @Somefive in #5946
- Chore: (deps): Bump github.com/prometheus/client_golang from 1.14.0 to 1.15.1 by @dependabot in #5954
- Chore: (deps): Bump github.com/fluxcd/helm-controller/api from 0.32.1 to 0.32.2 by @dependabot in #5953
- Chore: (deps): Bump github.com/cloudtty/cloudtty from 0.2.0 to 0.5.2 by @dependabot in #5942
- Chore: (deps): Bump golang.org/x/term from 0.6.0 to 0.7.0 by @dependabot in #5941
- Chore: (deps): Bump github.com/spf13/cobra from 1.6.1 to 1.7.0 by @dependabot in #5945
- Chore: (deps): Bump golang.org/x/oauth2 from 0.6.0 to 0.7.0 by @dependabot in #5961
- Chore: Give the help information of Makefile to make it more clear by @cubxxw in #5638
- Chore: (deps): Bump github.com/onsi/ginkgo/v2 from 2.9.2 to 2.9.4 by @dependabot in #5960
- Chore: (deps): Bump github.com/cloudflare/circl from 1.1.0 to 1.3.3 by @dependabot in #5979
- Chore: (deps): Bump github.com/openkruise/kruise-api from 1.3.0 to 1.4.0 by @dependabot in #5964
- Chore: (deps): Bump github.com/docker/distribution from 2.8.1+incompatible to 2.8.2+incompatible by @dependabot in #5980
- Chore: (deps): Bump github.com/rogpeppe/go-internal from 1.9.0 to 1.10.0 by @dependabot in #5963
- Chore: add unit test by @yyzxw in #5985
- Chore: update dependabot settings by @Somefive in #5984
- Chore: upgrade ginkgo to v2 by @Somefive in #5940
- Chore: CUE code quality changes by @Ca-moes in #5987
- Chore: (deps): Bump golang.org/x/oauth2 from 0.7.0 to 0.8.0 by @dependabot in #5992
- Chore: (deps): Bump github.com/alibabacloud-go/cs-20151215/v3 from 3.0.32 to 3.0.35 by @dependabot in #5990
- Chore: (deps): Bump github.com/google/go-containerregistry from 0.14.0 to 0.15.1 by @dependabot in #5991
- Chore: (deps): Bump golang.org/x/sync from 0.1.0 to 0.2.0 by @dependabot in #5993
- Chore: CUE code quality changes - line spaces and typos by @Ca-moes in #5997
- Chore: remove unused code and fix typo by @yyzxw in #5986
- Fix: cleanup ci for minimal chart by @Somefive in #6004
- Fix: ci docker install by @Somefive in #6005
- Refactor: transparent and extensible cuegen decl by @iyear in #6006
- Fix: multicluster adopt by @Somefive in #5988
- Chore: add CoreOptions flags test by @yyzxw in #6007
- Fix: ci tool version by @Somefive in #6011
- Refactor: enhanced code readability by @yyzxw in #6012
- Fix: add cluster description for vela adopt help by @caiqi1111 in #6015
- Chore: (deps): Bump github.com/containerd/containerd from 1.7.0 to 1.7.1 by @dependabot in #6025
- Refactor: parse trait & scope by @yyzxw in #6017
- Chore: (deps): Bump codecov/codecov-action from 3.1.3 to 3.1.4 by @dependabot in #6024
- Chore: (deps): Bump actions/setup-go from 4.0.0 to 4.0.1 by @dependabot in #6023
- Chore: (deps): Bump github.com/sirupsen/logrus from 1.9.0 to 1.9.2 by @dependabot in #6022
- Chore: (deps): Bump golang.org/x/crypto from 0.6.0 to 0.9.0 by @dependabot in #6021
- Chore: (deps): Bump github.com/nacos-group/nacos-sdk-go/v2 from 2.1.0 to 2.2.2 by @dependabot in #6019
- Chore: (deps): Bump sigs.k8s.io/gateway-api from 0.6.2 to 0.7.0 by @dependabot in #6020
- Chore: auto prune ci network after test by @Somefive in #6028
- Chore: upgrade kubebuilder installation in unit-test ci by @Somefive in #6018
- Chore: remove dm by @Somefive in #6036
- Feat: revert ci to kind by @Somefive in #6035
- Chore: remove acr in ci by @Somefive in #6040
- Chore: add controller ut by @yyzxw in #6043
- Chore: (deps): Bump github.com/stretchr/testify from 1.8.2 to 1.8.3 by @dependabot in #6049
- Chore: (deps): Bump github.com/openkruise/rollouts from 0.1.1-0.20220622054609-149e5a48da5e to 0.3.0 by @dependabot in #6047
- Chore: (deps): Bump gomodules.xyz/jsonpatch/v2 from 2.2.0 to 2.3.0 by @dependabot in #6050
- Chore: (deps): Bump github.com/imdario/mergo from 0.3.15 to 0.3.16 by @dependabot in #6046
- Chore: (deps): Bump github.com/onsi/gomega from 1.27.6 to 1.27.7 by @dependabot in #6048
- Chore: set CLI verbose output to be hidden by default by @Somefive in #6016
- Chore: use package function to replace parallel function by @Somefive in #6052
- Chore: remove oss upload in CI by @Somefive in #6051
- Chore: remove outdated apis(v1alppha2 ApplicationConfiguration Component, and HealthScope, Rollout) by @Somefive in #6041
- Chore: remove migrated swagger json by @chivalryq in #6075
- Chore: remove legacy rollout and scope by @Somefive in #6068
- Chore: (deps): Bump github.com/cloudtty/cloudtty from 0.5.2 to 0.5.3 by @dependabot in #6083
- Chore: (deps): Bump thehanimo/pr-title-checker from 1.3.7 to 1.4.0 by @dependabot in #6079
- Chore: (deps): Bump github.com/sirupsen/logrus from 1.9.2 to 1.9.3 by @dependabot in #6084
- Chore: (deps): Bump zeebe-io/backport-action from 1.2.0 to 1.3.0 by @dependabot in #6078
- Chore: (deps): Bump golangci/golangci-lint-action from 3.4.0 to 3.5.0 by @dependabot in #6077
- Chore: Fix duplicate logs and parameter wrong hints. by @yanggangtony in #6086
- Chore: (deps): Bump github.com/google/go-containerregistry from 0.15.1 to 0.15.2 by @dependabot in #6081
- Chore: Cache the DiscoveryClient for cli command. by @yanggangtony in #6091
- Chore: remove unnecessary go mod by @Somefive in #6093
- Chore: remove schematic kube and helm by @Somefive in #6099
- Chore: (deps): Bump github.com/xanzy/go-gitlab from 0.83.0 to 0.85.0 by @dependabot in #6103
- Chore: (deps): Bump docker/setup-buildx-action from 2.4.1 to 2.6.0 by @dependabot in #6111
- Chore: (deps): Bump actions/checkout from 3.5.2 to 3.5.3 by @dependabot in #6112
- Chore: (deps): Bump docker/login-action from 2.1.0 to 2.2.0 by @dependabot in #6110
- Chore: (deps): Bump github.com/stretchr/testify from 1.8.3 to 1.8.4 by @dependabot in #6104
- Chore: (deps): Bump docker/build-push-action from 4.0.0 to 4.1.0 by @dependabot in #6109
- Chore: (deps): Bump docker/setup-qemu-action from 2.1.0 to 2.2.0 by @dependabot in #6108
- Chore: (deps): Bump github.com/hashicorp/hcl/v2 from 2.16.2 to 2.17.0 by @dependabot in #6107
- Chore: (deps): Bump github.com/onsi/gomega from 1.27.7 to 1.27.8 by @dependabot in #6105
- Chore: (deps): Bump github.com/getkin/kin-openapi from 0.94.0 to 0.118.0 by @dependabot in #6106
- Refactor: addon dependency installation logic by @zhaohuiweixiao in #6045
- Chore: remove useless envbinding env by @Somefive in #6122
How to install
Install Vela Core by Using Vela CLI
curl -fsSl https://kubevela.io/script/install.sh | bash -s 1.9.0
vela install -v 1.9.0
Install Vela Core by Using Helm:
helm repo add kubevela https://kubevela.github.io/charts/
helm repo update
helm install --create-namespace -n vela-system kubevela kubevela/vela-core --version 1.9.0 --wait
Install VelaUX addon
vela addon enable velaux --version=v1.8.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 versions.
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.9.0
vela install -v 1.9.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/kubevela/kubevela/v1.9.0/charts/vela-core/crds/core.oam.dev_applicationrevisions.yaml
kubectl apply -f https://raw.githubusercontent.com/kubevela/kubevela/v1.9.0/charts/vela-core/crds/core.oam.dev_applications.yaml
kubectl apply -f https://raw.githubusercontent.com/kubevela/kubevela/v1.9.0/charts/vela-core/crds/core.oam.dev_componentdefinitions.yaml
kubectl apply -f https://raw.githubusercontent.com/kubevela/kubevela/v1.9.0/charts/vela-core/crds/core.oam.dev_policies.yaml
kubectl apply -f https://raw.githubusercontent.com/kubevela/kubevela/v1.9.0/charts/vela-core/crds/core.oam.dev_policydefinitions.yaml
kubectl apply -f https://raw.githubusercontent.com/kubevela/kubevela/v1.9.0/charts/vela-core/crds/core.oam.dev_resourcetrackers.yaml
kubectl apply -f https://raw.githubusercontent.com/kubevela/kubevela/v1.9.0/charts/vela-core/crds/core.oam.dev_traitdefinitions.yaml
kubectl apply -f https://raw.githubusercontent.com/kubevela/kubevela/v1.9.0/charts/vela-core/crds/core.oam.dev_workflows.yaml
kubectl apply -f https://raw.githubusercontent.com/kubevela/kubevela/v1.9.0/charts/vela-core/crds/core.oam.dev_workflowstepdefinitions.yaml
kubectl apply -f https://raw.githubusercontent.com/kubevela/kubevela/v1.9.0/charts/vela-core/crds/core.oam.dev_workloaddefinitions.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.9.0 --wait
- Download the new CLI and enable velaux
curl -fsSl https://kubevela.io/script/install.sh | bash -s 1.9.0
vela addon enable velaux
Upgrade VelaUX
vela addon upgrade velaux --version=v1.8.0
New Contributors
- @scodeman made their first contribution in #5721
- @howieyuen made their first contribution in #5745
- @rhzx3519 made their first contribution in #5775
- @Mcduller made their first contribution in #5806
- @cubxxw made their first contribution in #5638
- @Kolossi made their first contribution in #5860
- @yyzxw made their first contribution in #5985
- @Ca-moes made their first contribution in #5987
- @dhanusaputra made their first contribution in #5739
- @qashlan made their first contribution in #6039
- @susheelpal made their first contribution in #6069
- @yanggangtony made their first contribution in #6086
- @merusso made their first contribution in #6002
Full Changelog: v1.8.2...v1.9.0