#!/bin/bash
# Connect to a running E2E container.
#
# Usage:
#   ./bin/e2e-shell                # Shell into management machine
#   ./bin/e2e-shell caddy          # Shell into caddy container
#   ./bin/e2e-shell fw-main        # Shell into fw-main
#   ./bin/e2e-shell namecheap-dns  # Shell into namecheap-dns

set -e
PROJECT_NAME="conductor-e2e-interactive"
CONTAINER="${1:-management}"

# Check if network is running
if ! docker compose -p "$PROJECT_NAME" ps --status running 2>/dev/null | grep -q "$CONTAINER"; then
  echo "Container '$CONTAINER' is not running."
  echo "Available containers:"
  docker compose -p "$PROJECT_NAME" ps --format '  {{.Name}}  ({{.Status}})' 2>/dev/null || echo "  No E2E network running. Start with: ./bin/e2e-up"
  exit 1
fi

# Use zsh for management (has conductor aliases + completion), bash for others
if [ "$CONTAINER" = "management" ]; then
  docker compose -p "$PROJECT_NAME" exec "$CONTAINER" zsh -li
else
  docker compose -p "$PROJECT_NAME" exec "$CONTAINER" bash
fi
