#!/usr/bin/env bash # Tear down ScadaLink test infrastructure. # # Usage: # ./teardown.sh Stop containers and delete the SQL data volume # ./teardown.sh --images Also remove downloaded Docker images # ./teardown.sh --all Remove volumes, images, and the Python venv set -euo pipefail cd "$(dirname "$0")" REMOVE_IMAGES=false REMOVE_VENV=false for arg in "$@"; do case "$arg" in --images) REMOVE_IMAGES=true ;; --all) REMOVE_IMAGES=true; REMOVE_VENV=true ;; -h|--help) echo "Usage: ./teardown.sh [--images] [--all]" echo " (no flags) Stop containers, delete SQL data volume" echo " --images Also remove downloaded Docker images" echo " --all Remove volumes, images, and Python venv" exit 0 ;; *) echo "Unknown option: $arg" >&2 exit 1 ;; esac done echo "Stopping containers and removing SQL data volume..." if $REMOVE_IMAGES; then docker compose down -v --rmi all else docker compose down -v fi if $REMOVE_VENV && [ -d tools/.venv ]; then echo "Removing Python virtual environment..." rm -rf tools/.venv fi echo "" echo "Teardown complete." echo "To start fresh: docker compose up -d && python tools/mssql_tool.py setup --script mssql/setup.sql"