#!/bin/bash
# Antigravity 통합 호스트 에이전트 시작 스크립트

cd "$(dirname "$0")"

PIDFILE=host-agent.pid
LOGFILE=host-agent.log
BIN=host-agent

# 이미 실행 중인지 확인
if [ -f "$PIDFILE" ]; then
    PID=$(cat "$PIDFILE")
    if ps -p "$PID" > /dev/null 2>&1; then
        echo "호스트 에이전트가 이미 실행 중입니다. (PID: $PID)"
        exit 1
    fi
    rm -f "$PIDFILE"
fi

# 설정 파일 존재 확인 (없으면 예제 안내)
if [ ! -f services.json ]; then
    echo "⚠ services.json 이 없습니다. services.json.example 을 복사해 작성하세요:"
    echo "    cp services.json.example services.json"
    echo "  (설정이 없으면 호스트 시스템 메트릭만 수집됩니다)"
fi
if [ ! -f .env ] && [ -f .env.example ]; then
    echo "ℹ .env 가 없습니다. 필요 시 .env.example 을 복사해 작성하세요: cp .env.example .env"
fi

echo "호스트 에이전트 빌드 중..."
if ! go build -o "$BIN" ./cmd/host-agent; then
    echo "빌드 실패! 코드를 확인해 주세요."
    exit 1
fi

echo "호스트 에이전트 백그라운드 실행 중..."
nohup "./$BIN" > "$LOGFILE" 2>&1 &
NEW_PID=$!
echo "$NEW_PID" > "$PIDFILE"

echo "호스트 에이전트가 시작되었습니다. (PID: $NEW_PID)"
echo "로그: $LOGFILE  (tail -f $LOGFILE 로 확인)"
