Skip to main content

Before you start

Changelog

What changed between your version and the target version.

Compatibility matrix

The subchart versions each release pins, and its support channel.
A release with incompatible changes has a migration guide linked from its changelog entry. Work through that guide before running the upgrade.

Prechecks

Confirm the current release and namespaces:
Back up mutable admin resources:
Save current Helm values:
Rerun the installer. It reapplies the values you passed on earlier runs, so pass only what changes.
Omit --version to install the latest published chart. Passing an older version downgrades the release, since the installer runs helm upgrade either way. The installer uses helm upgrade --install, so rerunning it upgrades the Enterprise release. It also updates KubeBlocks and Snapshot Controller unless skipped.

How the installer keeps your values

Values passed with --values, --set and --set-string are stored in the Secret <release>-installer-values in the release namespace. Each run upgrades from the new chart’s defaults, then the stored values, then that run’s own values, and stores the result after a successful upgrade. You don’t need to keep a values file to upgrade, and settings you never passed always come from the new chart. The installer never stores these, even when you pass them: the chart release sets them, so each upgrade takes them from the new chart:
  • falkordb-addon.falkordbVersions, the FalkorDB versions deployments can use
  • image tags (*.image.tag)
Passing one still applies it to that run only. The installer also leaves out values it works out on every run, such as kubeblocks.enabled and the Admin Server JWT Secret name. To see or change what is stored: Values passed with --helm-arg are not stored. Passing --helm-arg --reuse-values (or --reset-values, --reset-then-reuse-values) switches stored values off for that run.
The first upgrade with an installer that stores values migrates the values Helm recorded for the release. It logs what it carried over and what it dropped. It drops the chart-owned values above, the values the installer works out itself, and image registry/repository values that match a default from an earlier chart. Run --show-values beforehand to preview the result.

Enterprise-only upgrade

If KubeBlocks and Snapshot Controller are already managed separately and should not be touched:

Manual Helm upgrade

A manual upgrade does not read the installer’s stored values; pass them in your values file. Print them with the installer’s --show-values. If you must use --reuse-values, set image tags explicitly. Also check helm get values for a falkordb-addon.falkordbVersions list. If one is there, --reuse-values keeps it over the new chart’s list, and deployments can’t move to the new FalkorDB versions:

Post-upgrade validation

Port-forward and check health:
Open the Admin UI and verify login, deployment list, diagnostics, logs, and metrics.

Upgrade your deployments

Upgrading FalkorDB Enterprise upgrades the control plane only. Existing deployments keep the FalkorDB version and the addon release they run, even when the release makes newer ones available. Upgrade each deployment yourself, from the Admin UI (Upgrade on the deployment page), the CLI (falkordb-admin deployments upgrade), or the API: One upgrade can do both.
Don’t upgrade a deployment by editing serviceVersion or componentDef on its KubeBlocks Cluster resource with kubectl. That bypasses the version catalog, the downgrade guard, and the shard and Sentinel component definitions the Admin Server keeps in step.

Rollback

Roll back before you upgrade any deployment to a version or addon release the new chart brought. The older chart’s version catalog may not list the newer FalkorDB versions, which would leave deployments already moved to one on a version the installation no longer offers. FalkorDB versions can’t be downgraded.
List revisions:
Rollback to a previous revision:
After rollback, rerun the post-upgrade validation commands. helm rollback restores the release’s earlier values but not the installer’s stored values. If the failed upgrade also changed settings, use --unset-value or pass the earlier values on the next run.