forked from plecco/RobinhoodBot
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathmonitor-optimizer.sh
More file actions
executable file
·39 lines (34 loc) · 1.15 KB
/
monitor-optimizer.sh
File metadata and controls
executable file
·39 lines (34 loc) · 1.15 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#!/bin/bash
# Monitor RobinhoodBot Optimizer logs in Kubernetes with auto-reconnect.
# Connects via SSH to the control-plane node to run kubectl.
# Usage: ./monitor-optimizer.sh [--history N]
# --history N Show last N lines on first connect (default: 100)
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
# Load connection info from secrets.env
if [[ -f "${SCRIPT_DIR}/secrets.env" ]]; then
source "${SCRIPT_DIR}/secrets.env"
else
echo "ERROR: secrets.env not found."
exit 1
fi
REMOTE_SSH="${REMOTE_USER}@${REMOTE_HOST}"
NAMESPACE="robinhoodbot"
TAIL_LINES=100
if [[ "${1:-}" == "--history" && -n "${2:-}" ]]; then
TAIL_LINES="$2"
fi
echo "Monitoring optimizer logs (Ctrl+C to stop)..."
FIRST=true
while true; do
if $FIRST; then
ssh -o ConnectTimeout=10 "${REMOTE_SSH}" \
"kubectl logs -f job/robinhoodbot-optimizer -n ${NAMESPACE} --tail=${TAIL_LINES}" 2>&1 || true
FIRST=false
else
ssh -o ConnectTimeout=10 "${REMOTE_SSH}" \
"kubectl logs -f job/robinhoodbot-optimizer -n ${NAMESPACE} --tail=0" 2>&1 || true
fi
echo "--- Connection lost. Reconnecting... ---"
sleep 1
done