Which version to run
The control plane reports each deployment’s current version and whether it is still supported, from the data plane’s heartbeat. That report is the source of truth for what to upgrade to. InSTANDALONE mode there is no control plane to ask: upgrades are fully
manual, via signed offline bundles.
Ordering a fleet
Deployments are independent runtimes, so upgrade them one at a time:1
Roll a staging deployment first
Pick the deployment whose pipelines you can afford to interrupt.
2
Confirm it comes back
Its status must flip back to Live in the control plane. That flip is
driven by the data plane’s first heartbeat on the new version — if it stays
Offline, stop and see
Troubleshooting.
3
Then move through production
One deployment at a time, confirming Live between each.
Kubernetes
--version) and the application image (image.tag)
— never deploy latest, or an upgrade becomes whatever happened to be published
that day.
Single VM
The VM is stateless: all data lives in your external database and S3 bucket. Upgrading means replacing the VM with one built from a newer image — there is no in-place upgrade.1
Boot the new VM
With the same configuration as the old one.
2
Check it is ready
curl http://<new-vm-ip>/api/readyz must return HTTP 200.3
Run a test pipeline end-to-end
On the new VM, before it takes any real traffic.
4
Switch over
Pause the active pipelines on the old VM, then switch network routing to the
new one.
5
Resume and decommission
Resume pipelines, then decommission the old VM.
Both VMs can point at the same database and bucket at once — state lives in
those external systems and concurrent access is safe. Do not serve
production traffic from both at the same time, though: pipelines would execute
twice.
Uninstalling
Further reading
Deployments and environments
Why deployments are independent runtimes in the first place.
Troubleshooting
When a deployment does not come back Live.