Upgrade
./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).
