Skip to main content
Version: Next

Upgrading Structsure Enterprise

This guide provides instructions on how to upgrade an instance of Structsure to its latest version.

Prerequisites

Before upgrading Structsure, ensure that you meet the following prerequisites.

Validate Current Version of Structsure

Determining the existing version of Structsure is vital for a successful upgrade, as only incremental version upgrades are supported. Use the following command to retrieve the current Structsure version:

kubectl get configuration structsure-enterprise -o jsonpath='{.spec.package}'

Assess Available Storage

During the deployment of Structsure, Zarf utilizes the /tmp directory to create logs, unpack images, and allocate other necessary resources. Insufficient space in this directory may lead to upgrade complications. Verify adequate storage availability in the /tmp directory before initiating the upgrade.

Export Zarf Config

Ensure that your Zarf configuration file is exported for the cluster you are planning on upgrading.

export ZARF_CONFIG=/home/user/my-structsure-config.yaml

It is recommended to keep all configuration files related to a cluster in the same directory in the case you have multiple clusters deployed.

danger

If a Zarf configuration file is not provided prior to upgrading, this may cause catastrophic damage to your cluster including data loss.

Upgrade Installation

After satisfying all prerequisites, you can initiate the upgrade using the Zarf package with the following command:

zarf package deploy zarf-package-structsure-amd64-5.0.1.tar.zst --no-progress --confirm

Note that all previous custom values and secrets that are applied to the cluster are preserved and carried over automatically during the upgrade. If desired, these values can be overridden by passing in the BIGBANG_VALUES_FILE and BIGBANG_SECRETS_FILE, as described in How to Override Big Bang Values.

Upon successful completion of the upgrade, all web applications should remain accessible via their existing URLs.

Post-Upgrade Tasks

After the upgrade, you may want to consider the following optional post-upgrade task.

Zarf Cleanup

Once the upgrade is successfully completed, you may safely remove the decompressed Zarf folder and delete any temporary files residing in the /tmp directory.

By carefully following this guide, you will be well-equipped for a smooth upgrade to Structure's latest version.

Note for Upgrading a Cluster that Ever Ran Structsure Versions v5.0.1 to v5.3.0

Note that if you have an existing cluster that was ever running any Structsure versions between (and including) v5.0.1 to v5.3.0, you will need to use the exact same example procedure shown in Unsetting Previously Overridden Config or Secret Values to remove the pinned GitLab 7.7.0-bb.0 tag when upgrading Structsure. These versions have the bug fix for updating GitLab webservice to 16.7.0 to patch cve 121ea7b. Unfortunately, this fix resulted in a change to the gitlab-overrides configmap (instead of the gitlab-values configmap). This requires a one-time manual change to unset this value so that GitLab can default back to the Big Bang chart value when upgrading to Structsure version v5.4.0 onwards.