#!/usr/bin/env bash # Ad-hoc Meet Kevin video analyzer wrapper. # # Usage: # ./scripts/kevin-analyze.sh # # Picks the running meet-kevin-watcher container (which already has # yt-dlp + ffmpeg + the Anthropic token + the right Python env), copies # the local script in, and runs it. Works regardless of whether the # image has scripts/ baked in yet. set -euo pipefail if [[ $# -ne 1 ]]; then echo "usage: $0 " >&2 exit 1 fi SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" LOCAL_SCRIPT="$SCRIPT_DIR/analyze_kevin_video.py" if [[ ! -f "$LOCAL_SCRIPT" ]]; then echo "missing $LOCAL_SCRIPT" >&2 exit 1 fi POD=$(kubectl -n trading-bot get pod -l app=trading-bot-workers \ -o jsonpath='{.items[0].metadata.name}') if [[ -z "$POD" ]]; then echo "no trading-bot-workers pod found" >&2 exit 1 fi # Copy the latest local script into the pod, then exec it. This way the # wrapper works even before CI ships an image with scripts/ baked in. kubectl -n trading-bot cp "$LOCAL_SCRIPT" \ "$POD:/tmp/kevin-analyze.py" -c meet-kevin-watcher >/dev/null exec kubectl -n trading-bot exec "$POD" -c meet-kevin-watcher -- \ python /tmp/kevin-analyze.py "$1"