#!/bin/bash
#
# Helper to tail logs from the active Eagle instance.
# Reads the active instance from /opt/eagle0/.active-instance (set by deploy-blue-green.sh).
#
# Usage:
#   eagle-logs           # Tail logs (follow mode)
#   eagle-logs -n 100    # Show last 100 lines and follow
#   eagle-logs --no-follow -n 50   # Show last 50 lines without following
#
# To create an alias, add to ~/.bashrc:
#   alias eagle-logs='/opt/eagle0/scripts/eagle-logs.sh'
#

set -euo pipefail

APP_DIR="${APP_DIR:-/opt/eagle0}"
ACTIVE_FILE="${APP_DIR}/.active-instance"

# Read active instance from file, with fallback
if [ -f "$ACTIVE_FILE" ]; then
    ACTIVE=$(cat "$ACTIVE_FILE")
else
    # Fallback: check which container is actually running
    if docker inspect --format='{{.State.Running}}' eagle-blue 2>/dev/null | grep -q true; then
        ACTIVE="eagle-blue"
    elif docker inspect --format='{{.State.Running}}' eagle-green 2>/dev/null | grep -q true; then
        ACTIVE="eagle-green"
    else
        ACTIVE=""
    fi
fi

if [ -z "$ACTIVE" ]; then
    echo "Error: No active Eagle instance found" >&2
    exit 1
fi

# Default to follow mode if no args provided
if [ $# -eq 0 ]; then
    exec docker logs -f "$ACTIVE"
else
    exec docker logs "$@" "$ACTIVE"
fi
