Upgrades & rollback
Upgrade the control plane safely and roll back when you need to.
Upgrades are designed to be minimal and reversible. The control plane keeps previous versions on disk so you can roll back quickly.
Upgrade
Pull the new signed image and recreate the container. State lives in named volumes, so your data is preserved:
docker compose pull
docker compose up -dWith the Watchtower profile enabled, this happens automatically (forward-only).
Re-run the installer with the new tarball. It detects the existing install and runs in upgrade mode: a new versioned directory, database migrations, service-unit refresh, and a restart. The load-balancer config, system packages and webroot are left untouched.
sudo bash bootstrap.sh --cluster-manager-tarball /tmp/cluster-manager-vX.tar.gzThe previous versions are kept on disk and pruned by retention.
Check migrations first
Database migrations are forward-only. If you want to know what will change, diff the migrations between the two releases before deploying.
Rollback
Watchtower only rolls forward. To downgrade, pin the previous image tag and recreate:
VEIL_CLUSTER_MANAGER_TAG=vX.Y.Z docker compose up -dRepoint the current symlink to the previous versioned directory and restart the
service:
sudo ln -sfn /srv/cluster-manager/v<previous> /srv/cluster-manager/current
sudo systemctl restart veil-cluster-managerMigrations and rollback
If the newer version applied a migration the old code cannot tolerate, roll the database back to a pre-upgrade backup. Prefer migrations that are safe to back-level.