#!/usr/bin/env bash set -euo pipefail usage() { cat <<'USAGE' Usage: ./rollback_custom_tal_patch.sh --component-root Stop the ours RP service before rolling back the overlay. USAGE } die() { echo "error: $*" >&2 exit 2 } COMPONENT_ROOT="" while [[ $# -gt 0 ]]; do case "$1" in --component-root) COMPONENT_ROOT="${2:-}" shift 2 ;; -h|--help) usage exit 0 ;; *) die "unknown option: $1" ;; esac done [[ -n "$COMPONENT_ROOT" ]] || die "--component-root is required" COMPONENT_ROOT="$(cd "$COMPONENT_ROOT" 2>/dev/null && pwd)" \ || die "component root does not exist: $COMPONENT_ROOT" STATE_ROOT="$COMPONENT_ROOT/.custom-tal-patch-state" BACKUP_ROOT="$STATE_ROOT/original" [[ -d "$STATE_ROOT" ]] || die "patch state not found: $STATE_ROOT" [[ -f "$BACKUP_ROOT/compose/docker-compose.yml" ]] \ || die "patch backup is incomplete: $BACKUP_ROOT" cp -a "$BACKUP_ROOT/compose/docker-compose.yml" "$COMPONENT_ROOT/compose/docker-compose.yml" cp -a "$BACKUP_ROOT/.env.example" "$COMPONENT_ROOT/.env.example" if [[ -f "$BACKUP_ROOT/scripts/soak/run_soak.sh" ]]; then mkdir -p "$COMPONENT_ROOT/scripts/soak" cp -a "$BACKUP_ROOT/scripts/soak/run_soak.sh" "$COMPONENT_ROOT/scripts/soak/run_soak.sh" else rm -f "$COMPONENT_ROOT/scripts/soak/run_soak.sh" rmdir "$COMPONENT_ROOT/scripts/soak" 2>/dev/null || true fi if [[ -d "$BACKUP_ROOT/custom-fixtures" ]]; then rm -rf "$COMPONENT_ROOT/custom-fixtures" cp -a "$BACKUP_ROOT/custom-fixtures" "$COMPONENT_ROOT/custom-fixtures" else rm -rf "$COMPONENT_ROOT/custom-fixtures" fi if [[ -d "$BACKUP_ROOT/custom-tal-patch" ]]; then rm -rf "$COMPONENT_ROOT/custom-tal-patch" cp -a "$BACKUP_ROOT/custom-tal-patch" "$COMPONENT_ROOT/custom-tal-patch" else rm -rf "$COMPONENT_ROOT/custom-tal-patch" fi if [[ -f "$BACKUP_ROOT/custom-tal.env.example" ]]; then cp -a "$BACKUP_ROOT/custom-tal.env.example" "$COMPONENT_ROOT/custom-tal.env.example" else rm -f "$COMPONENT_ROOT/custom-tal.env.example" fi if [[ -f "$BACKUP_ROOT/.env" ]]; then cp -a "$BACKUP_ROOT/.env" "$COMPONENT_ROOT/.env" fi rm -f "$COMPONENT_ROOT/CUSTOM-TAL-PATCH-MANIFEST.env" rm -rf "$STATE_ROOT" echo "custom TAL patch rolled back from $COMPONENT_ROOT"