mirror of
https://github.com/nolen777/eagle0.git
synced 2026-07-28 22:35:42 +00:00
Usage: eagle-logs # Tail logs (follow mode) eagle-logs -n 100 # Show last 100 lines and follow eagle-logs --no-follow -n 50 # Last 50 lines without following Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
45 lines
1.2 KiB
Bash
Executable File
45 lines
1.2 KiB
Bash
Executable File
#!/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
|