#!/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" DOCS_DIR="$HOME/OSVauco/docs" 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_info() { echo " ${BLUE}[INFO]${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 # Vis enkel changelog-oversikt for docs/ step "Siste endringer i docs/ (git log)" if command -v git >/dev/null 2>&1 && [ -d "$DOCS_DIR" ]; then git -C "$HOME/OSVauco" log -5 --pretty='format:%C(yellow)%h%Creset %Cgreen%cd%Creset %C(bold)%s%Creset' --date=short -- docs 2>/dev/null || true echo done_info else echo " (git eller docs/-mappe ikke tilgjengelig)" done_info fi 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_info echo " ${YELLOW}ℹ️ gh ikke logget inn — kjør 'gh auth login' senere hvis du trenger GitHub-CLI.${RESET}" fi else done_info 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_info echo "[OSVauco/OPAX] OK, holder deg i shell. Kjør 'gemini' når du vil inn i TUI." ;; esac