Skip to content

Upgrade

Terminal window
./ophiolite-ops upgrade <registry>/ophiolite-server:<new release>

This asks the new image what its first start would do, backs up the deployment (before-<release>-<time> in the backups volume), switches .env to the new image and starts it. The new release applies its migrations before anything else runs and then records itself as the installed release.

The release gate. Every image lists the releases it can start from (upgrades_from in its release.json). A start refuses, before writing anything, when the database was last run by a release that is not listed. This applies to every start, including starting an older image by editing .env by hand: a downgrade is not supported. If you need to go back, restore the backup taken before the upgrade into a new deployment with the old image.

./ophiolite-ops upgrade-check shows the installed release and what the configured image’s next start will do.

From a pilot installation. Deployments installed with tools/pilot/pilot.py are not upgraded in place into the image. Upgrade the pilot with its own procedure, then move the project into a packaged deployment (Recovery and moves).