You are looking at the documentation of a prior release. To read the documentation of the latest release, please visit here.

Upgrading Stash

This guide will show you how to upgrade the Stash operator. Here, we are going to show how to update the license and how to upgrade between two Stash versions.

Upgrading Operator

If you are using Stash v202X.X.X, you can easily upgrade to the latest version. At first, make sure that you have read the changelog of your desired version from here. Then, follow the following steps.

1. Update Operator

Using Helm 3

$ helm upgrade stash-enterprise -n kube-system appscode/stash-enterprise  \
    --reuse-values                                                        \
    --set-file license=/path/to/new/license.txt

Using Helm 2

$ helm upgrade stash-enterprise appscode/stash-enterprise  \
    --reuse-values                                         \
    --set-file license=/path/to/new/license.txt

Using YAML (with helm 3)

$ helm template stash-enterprise appscode/stash-enterprise  \
    --set-file license=/path/to/new/license.txt             \
    --show-only templates/license.yaml                      \
    --set cleaner.skip=true | kubectl apply -f -

2. Update Addons

Once you have updated the operator successfully, you might need to update the addons too. Go to the respective addon documentation and check whether the suffix of the addons has changed or not. If the addon suffix does not match with the installed ones, then you have to upgrade them.

In this case, uninstall the old addons by following their respective uninstallation guide. Then, reinstall the new versions.

3. Update Existing Backup Resources

When you have updated the addons to the new version, you have to update the Task name in spec.task.name filed of BackupConfiguration or BackupBlueprint to point to the right addon version. Otherwise, the subsequent backup runs may fail.

Updating License

Stash support updating license without requiring any re-installation or restart. Stash 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

$ helm upgrade stash-enterprise -n kube-system appscode/stash-enterprise  \
    --reuse-values                                                        \
    --set-file license=/path/to/new/license.txt

Using Helm 2

$ helm upgrade stash-enterprise appscode/stash-enterprise  \
    --reuse-values                                         \
    --set-file license=/path/to/new/license.txt

Using YAML (with helm 3)

$ helm template stash-enterprise appscode/stash-enterprise  \
    --set-file license=/path/to/new/license.txt             \
    --show-only templates/license.yaml                      \
    --set cleaner.skip=true | kubectl apply -f -

Upgrading Between Community Edition and Enterprise Edition

Stash uses two different binaries for Community edition and Enterprise edition. So, it is not possible to upgrade between the Community Edition and Enterprise edition without re-installation. However, it is possible to re-install Stash without losing the existing backup resources.

Follow the below instructions to re-install Stash:

  • Uninstall the old version by following the respective uninstallation guide. Don’t delete the CRDs.
  • Install the new version by following the respective installation guide.

Upgrading from 0.9.x to v2020.x.x

If you are upgrading from 0.9.x which did not use license verification to the new v2020.x.x, you have to first uninstall the old version. Then, you have to re-install the new version.

If you are upgrading from 0.9.x to v2020.x.x Community edition, please note that the following features are only available in Enterprise edition:

  • Auto-Backup: Auto-backup is now an enterprise feature. You won’t be able to setup any new backup using auto-backup. However, your existing auto-backup resources should keep functioning.
  • Batch Backup: Batch backup and restore is also now an enterprise feature. You won’t be able to create any new backup using batch-backup. However, your existing backup should continue to work and you would be able to restore the data that were backed up using BatchBackup.
  • Local Backend: Local backend now is an enterprise feature. If you are using any Kubernetes volume (i.e. NFS, PVC, HostPath, etc.) as backend, you won’t be able to create any new backup using those backends. However, your existing backup that uses sidecar model should keep functioning. You have to use the Enterprise edition to restore from the backed up data. If you are interested in purchasing Enterprise license, please contact us via [email protected] for further discussion. You can also set up a meeting via our calendly link.

If you are using any Stash addons, you might need to update the Task name in your BackupConfiguration to comply with the new naming scheme of the Function and Task.