Skip to content

v1.9.0

Compare
Choose a tag to compare
@Somefive Somefive released this 15 Jun 07:18
· 202 commits to master since this release
da3618a

Great thanks for all the community contributors!

Major Changes

  1. Support Kubernetes v1.26.
  2. Legacy code removal. Basically you will not be able to use EnvBinding, HealthScope, ScopeDefinition and other objects in old KubeVela (<1.0), like ApplicationConfiguration.
  3. Registry migrated to GitHub.

Notice: the "hub.kubevela.net", "charts.kubevela.net" and "addons.kubevela.net" will not be served in the future.

  1. For docker images in "hub.kubevela.net", replace it with "docker.io" or "ghcr.io/kubevela".
  2. For helm charts in "charts.kubevela.net", replace it with "kubevela.github.io/charts".
  3. 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

  1. Pause Reconcile: You can add label controller.core.oam.dev/pause: "true" to your application to let controller skip reconciling this application.
  2. Allow Same Component Name across Applications: You can now use the same name for components in different applications.
  3. Support Multicluster Adopt: You can run vela adopt command for multicluster resources.
  4. Support Checking Prometheus Metrics in Workflow: You can use check-metrics workflow step in your workflow.
  5. Cluster Join Allow Override: You can overwrite existing cluster kubeconfig via vela cluster join now.
  6. Allow Setting Mode for Step Groups: You can customize your step groups with mode DAG or StepByStep now.
  7. Support ProxyURL for Multicluster: The proxy-url in kubeconfig can be recognized by multicluster connection now.
  8. CLI supports Cuex Eval: You can run vela cuex eval to evaludate your local cue files with the cuex engine.
  9. Multiple Resource Policies: You can configure multiple same typed policies for one application now, such as apply-once or garbage-collect.
  10. Support using Cuex Engine for Config Management
  1. Support Provider Generator and DocGen Tools
  1. 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
  1. Application Revision number Configurable: You can configure application revision limitation for each application via policy now.
  2. Resource Update Policy: You can configure application to use replace/recreate/patch for updating resources.
  3. Force Resource Location: You can force the dispatch location of resources through setting the app.oam.dev/cluster label manually.
  4. 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.
  5. Support custom Cascading GC Policy: You can configure how the cascading behavior should be used for deleting resources.
  6. 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

⚠️ Please upgrade the CRD first if you're upgrading to this release.

  1. 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
  1. 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
  1. 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

Full Changelog: v1.8.2...v1.9.0