#!/bin/bash
set -e
# Verify environment
if [ -z "$FERRITE_ENV" ]; then
echo "ERROR: FERRITE_ENV is not set."
exit 1
fi
echo "Starting rollback for v2.3..."
# 1. Stop services
echo "Stopping sync engine and console..."
systemctl stop ferrite-sync
systemctl stop ferrite-console
# 2. Restore database
echo "Restoring Postgres snapshot..."
pg_restore --dbname=ferrite_prod --clean --if-exists /backups/ferrite_prod_v2.2.1.dump
# 3. Revert binaries
echo "Reverting to v2.2.1 binaries..."
cp /artifacts/sync_v2.2.1 /usr/local/bin/ferrite-sync
cp /artifacts/console_v2.2.1 /