Upgrading KubeStash
This guide will show you how to upgrade various KubeStash components. Here, we are going to show how to upgrade from an old KubeStash version to the new version, and how to update the license, etc.
Upgrading KubeStash
In order to upgrade KubeStash from v2023.xx.xx
to v2024.9.30
, please follow the following steps.
1. Update KubeStash CRDs
Helm does not upgrade the CRDs bundled in a Helm chart if the CRDs already exist. So, to upgrade the KubeStash catalog CRDs, please run the following commands below:
# Update catalog CRDs
$ kubectl apply -f https://github.com/kubestash/installer/raw/v2024.9.30/crds/kubestash-crds.yaml
2. Upgrade Kubestash Operator
Now, upgrade the KubeStash helm chart using the following command. You can find the latest installation guide here.
helm upgrade kubestash oci://ghcr.io/appscode-charts/kubestash \
--version v2024.9.30 \
--namespace stash \
--set-file global.license=/path/to/the/license.txt \
--wait --burst-limit=10000 --debug
Updating License
KubeStash support updating license without requiring any re-installation. KubeStash 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 kubestash
# update license key keeping the current version
$ helm upgrade kubestash oci://ghcr.io/appscode-charts/kubestash \
--version=<cur_version> \
--namespace stash --create-namespace \
--reuse-values \
--set-file global.license=/path/to/new/license.txt
Using YAML (with helm 3)
# detect current version
$ helm ls -A | grep kubestash
# update license key keeping the current version
$ helm template kubestash oci://ghcr.io/appscode-charts/kubestash -n kubestash \
--version=<cur_version> \
--namespace stash --create-namespace \
--set global.skipCleaner=true \
--show-only appscode/kubestash-operator/templates/license.yaml \
--set-file global.license=/path/to/new/license.txt | kubectl apply -f -