137 lines
3.2 KiB
Bash
137 lines
3.2 KiB
Bash
#!/usr/bin/env bash
|
||
# OSVauco OPAX boot — med session-logg, GitHub-sjekk og fargekodet statuslinje
|
||
|
||
set -euo pipefail
|
||
|
||
PROJECT_ID="propane-will-491900-m5"
|
||
REGION="us-central1"
|
||
ACCOUNT="chris.christiansen@vauco.no"
|
||
REPO="OSVauco"
|
||
BRANCH="main"
|
||
PING_URL="https://opax-mcp-core-357036551735.us-central1.run.app/ping"
|
||
|
||
LOG_FILE="$HOME/OSVauco/docs/OSVAUCO_OPAX_SESSION_LOG.md"
|
||
|
||
GREEN="$(tput setaf 2 || true)"
|
||
RED="$(tput setaf 1 || true)"
|
||
YELLOW="$(tput setaf 3 || true)"
|
||
BLUE="$(tput setaf 4 || true)"
|
||
BOLD="$(tput bold || true)"
|
||
RESET="$(tput sgr0 || true)"
|
||
|
||
SESSION_ID="$(date '+%Y%m%d-%H%M%S')"
|
||
|
||
step() {
|
||
local label="$1"
|
||
printf " ${BLUE}›${RESET} %-45s" "$label"
|
||
}
|
||
|
||
done_ok() {
|
||
echo " ${GREEN}[OK]${RESET}"
|
||
}
|
||
|
||
done_warn() {
|
||
echo " ${YELLOW}[WARN]${RESET}"
|
||
}
|
||
|
||
done_fail() {
|
||
echo " ${RED}[FAIL]${RESET}"
|
||
}
|
||
|
||
# Fjern Cloud Shell-velkomst ved å rydde skjermen før banneret
|
||
clear || true
|
||
|
||
echo "============================================================"
|
||
echo " ${BOLD}O S V A U C O · O P A X${RESET}"
|
||
echo "============================================================"
|
||
echo
|
||
|
||
echo "Boot-script for OPAX-MCP (Cloud Run)"
|
||
echo
|
||
|
||
echo " Project : $PROJECT_ID"
|
||
echo " Region : $REGION"
|
||
echo " Account : $ACCOUNT"
|
||
echo " Repo : $REPO ($BRANCH)"
|
||
echo " Session : $SESSION_ID"
|
||
echo
|
||
|
||
# Vis siste linje fra session-logg hvis den finnes
|
||
if [ -f "$LOG_FILE" ]; then
|
||
LAST_LINE=$(tail -n 1 "$LOG_FILE" || true)
|
||
else
|
||
LAST_LINE="(ingen tidligere sesjoner logget ennå)"
|
||
fi
|
||
|
||
echo " Forrige : $LAST_LINE"
|
||
echo
|
||
|
||
OPAX_OK=0
|
||
GH_OK=0
|
||
|
||
# 1) Healthcheck mot OPAX-MCP
|
||
step "Tester OPAX-MCP på: $PING_URL"
|
||
if curl -fsS "$PING_URL" >/dev/null 2>&1; then
|
||
OPAX_OK=1
|
||
done_ok
|
||
echo " ${GREEN}✅ OPAX-MCP: OK${RESET}"
|
||
else
|
||
done_fail
|
||
echo " ${RED}❌ OPAX-MCP: FEIL – sjekk Cloud Run / URL${RESET}"
|
||
fi
|
||
|
||
echo
|
||
|
||
# 2) GitHub CLI-status
|
||
step "Sjekker GitHub-innlogging (gh auth status)"
|
||
if command -v gh >/dev/null 2>&1; then
|
||
if gh auth status >/dev/null 2>&1; then
|
||
GH_OK=1
|
||
done_ok
|
||
else
|
||
done_warn
|
||
echo " ${YELLOW}⚠️ gh ikke logget inn — kjør 'gh auth login' senere hvis du trenger GitHub-CLI.${RESET}"
|
||
fi
|
||
else
|
||
done_warn
|
||
echo " ${YELLOW}⚠️ 'gh' ikke installert i denne shellen.${RESET}"
|
||
fi
|
||
|
||
echo
|
||
|
||
mkdir -p "$(dirname "$LOG_FILE")"
|
||
|
||
# 3) Session-logg uten spørsmål (kan overrides via env)
|
||
step "Logger sesjon til OSVAUCO_OPAX_SESSION_LOG.md"
|
||
SESSION_DESC="${OSV_OPAX_SESSION_DESC:-"(ingen beskrivelse)"}"
|
||
|
||
echo "$SESSION_ID | $PROJECT_ID | $REGION | $ACCOUNT | OPAX=$OPAX_OK | GH=$GH_OK | $SESSION_DESC" >> "$LOG_FILE" && done_ok || done_fail
|
||
|
||
echo " Logg : ${GREEN}oppdatert${RESET} → $LOG_FILE"
|
||
echo
|
||
|
||
# 4) Oppsummering med grønn/rød kommandolinje
|
||
if [ "$OPAX_OK" -eq 1 ] && [ "$GH_OK" -eq 1 ]; then
|
||
echo " ${GREEN}▶ OSVAUCO/OPAX READY — Cloud Run + GitHub verifisert.${RESET}"
|
||
else
|
||
echo " ${RED}▶ OSVAUCO/OPAX PARTIAL — sjekk status over før du jobber videre.${RESET}"
|
||
fi
|
||
|
||
echo
|
||
|
||
# 5) Valgfri Gemini-oppstart
|
||
step "Starte Gemini-CLI i ~/OSVauco?"
|
||
read -r -p " [y/N]: " ANSWER
|
||
case "$ANSWER" in
|
||
y|Y)
|
||
done_ok
|
||
echo "[OSVauco/OPAX] Starter Gemini-CLI..."
|
||
cd "$HOME/OSVauco"
|
||
gemini
|
||
;;
|
||
*)
|
||
done_warn
|
||
echo "[OSVauco/OPAX] OK, holder deg i shell. Kjør 'gemini' når du vil inn i TUI."
|
||
;;
|
||
esac
|