Upgrading KubeVault

This guide will show you how to upgrade various KubeVault components. Here, we are going to show how to upgrade from an old KubeVault version to the new version, and how to update the license, etc.

Upgrading KubeVault to v2024.3.12

In order to upgrade from KubeVault to v2024.3.12, please follow the following steps.

1. Update KubeVault Catalog CRDs

Helm does not upgrade the CRDs bundled in a Helm chart if the CRDs already exist. So, to upgrde the KubeVault catalog CRD, please run the command below:

kubectl apply -f https://github.com/kubevault/installer/raw/v2024.3.12/crds/kubevault-catalog-crds.yaml

2. Upgrade KubeVault Operator

Now, upgrade the KubeVault helm chart using the following command. You can find the latest installation guide here. We recommend that you do not follow the legacy installation guide, as the new process is much more simple.

$ helm upgrade kubevault oci://ghcr.io/appscode-charts/kubevault \
  --version v2024.3.12 \
  --namespace kubevault \
  --set-file global.license=/path/to/the/license.txt \
  --wait --burst-limit=10000 --debug

Updating License

KubeVault support updating license without requiring any re-installation. KubeVault creates a Secret named <helm release name>-license with the license file. You just need to update the Secret. The changes will propagate automatically to the operator and it will use the updated license going forward.

Follow the below instructions to update the license:

  • Get a new license and save it into a file.
  • Then, run the following upgrade command based on your installation.

Using Helm 3

# detect current version
helm ls -A | grep kubevault

# update license key keeping the current version
helm upgrade kubevault oci://ghcr.io/appscode-charts/kubevault \
  --version=<cur_version> \
  --namespace=kubevault --create-namespace \
  --reuse-values \
  --set-file global.license=/path/to/new/license.txt \
  --wait --burst-limit=10000 --debug

Using YAML (with helm 3)

# detect current version
helm ls -A | grep kubevault

# update license key keeping the current version
helm template kubevault oci://ghcr.io/appscode-charts/kubevault \
  --version=<cur_version> \
  --namespace=kubevault --create-namespace \
  --set global.skipCleaner=true \
  --show-only appscode/kubevault-operator/templates/license.yaml \
  --set-file global.license=/path/to/new/license.txt | kubectl apply -f -