Skip to main content
A release is one version across six artifacts: the bundle, both charts and three images. Upgrade all of them together, to the same version. A version names a set tested together and makes no compatibility promise, so compare the new bundle with your current one before you change anything.

Before you upgrade

1

Pull the new release next to the current one

Set the version you’re moving to, and pull it into a new directory. Keep your current bundle directory: it holds your filled-in values and terraform.tfvars.
Log in to the registry first if your session expired: see step 2 of the install.To verify, list the new directory. Expected: both charts at the new version, and scripts, terraform and values.
2

See what changed

Compare the new values templates and OpenTofu configuration with the ones your current installation started from. Unpack your current version’s bundle into a scratch directory to compare against an untouched copy:
Decision. Read every change. A new key in a values template is a setting the new release expects; a changed comment often explains a changed default. Check Notes for specific versions too.
3

Carry your settings forward

Copy your OpenTofu variables, then bring your values edits into the new templates rather than copying your old files over them, so you keep any new keys:
Re-apply each of your edits to the new files: the same yq commands the install used work here. Three things to watch:
  • Image tags. values/jedify-be.yaml pins the application and sandbox images to the release’s version. Keep the new file’s tags, and keep your registry in componentsDefaults.image.repository and sandboxPod.image.repository. The web app’s tag follows the chart version when frontend.image.tag is empty.
  • Lists replace. If you overrode a list (litellm.modelList, gateway.healthChecks, gateway.mcpPathPrefixes, externalSecret.plainEnv), compare it with the new chart’s version: your list replaces the chart’s whole list, including entries a new release added.
  • The architecture. If you run amd64, switch the nodeSelector blocks in both new files again.
To verify, compare your merged files with your old ones. Expected: the only differences are the ones the new release introduced.
4

Copy the new images

If you copy images into your own Artifact Registry, copy the new version’s images before you upgrade anything. Run the same loop as the install’s copy step, and for an airgapped installation, mirror every image the new charts render.To verify, list the platforms each new image holds, as in the install. Expected: linux/amd64 and linux/arm64.

Upgrade

1

Apply OpenTofu

Use the new bundle’s OpenTofu configuration with the same state bucket and prefix:
Read the plan. Look for any resource OpenTofu wants to replace, especially the cluster, Cloud SQL, Memorystore or Firestore. If you didn’t expect one, stop and ask Jedify support before you apply.
To verify, plan again. Expected: No changes.
2

Upgrade the platform chart

After the first install, the platform chart is always one command:
Zitadel migrates its database in a setup job during the upgrade. If the upgrade fails on that job with a deadline error, delete the failed job and run the same command again: the job keeps its failed state until it’s deleted.
To verify, check the release and the secrets. Expected: jedify-infra is deployed at the new chart version, and every ExternalSecret shows SecretSynced.
3

Upgrade the application's two releases

Expected: every rollout reports successfully rolled out.
Always pass your values files with -f. Don’t use helm upgrade --reuse-values: it reuses the values stored with the previous release and doesn’t pick up the new chart’s defaults, so a setting a new release added is simply missing.

After the upgrade

Run these checks after every upgrade. A changed model list restarts the proxy through Reloader. If a model added by the new release answers Invalid model name, restart the proxy: see Change the model list.

Settings that must never change

Some settings are fixed once the installation holds data. Changing them in an upgrade loses data, signs people out, or moves things your clients depend on.

Rolling back

Don’t roll back on your own. Zitadel migrates its database during an upgrade, and OpenTofu may have changed resources, so returning the charts to an older version doesn’t return everything else with them. Contact Jedify support at support@jedify.com with your current and target versions, and the diagnostics.

Notes for specific versions

Release 2026.10.9 moved Arm pods from the Scale-Out compute class to autopilot-arm. Scale-Out brings up Arm machines in three regions only, so on those releases every pod could stay Pending in other regions. The upgrade reschedules every pod once. autopilot-arm needs GKE 1.35.3-gke.1389000 or later; the OpenTofu plan warns if your cluster is older.
From 2026.10.2, every image is published for both arm64 and amd64. Earlier releases publish Jedify’s own images for arm64 only, so an amd64 cluster needs 2026.10.2 or later.