OSVauco/scripts/osvauco-opax-boot.sh

168 lines
4.2 KiB
Bash
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/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"
# Phase 2 LIVE: pinger produksjonsdomene, ikke intern Cloud Run-URL
PING_URL="https://opax.vauco.no/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 " HUB_URL : $PING_URL"
echo
# Vis siste NESTE OPPGAVE fra session-logg
if [ -f "$LOG_FILE" ]; then
LAST_LINE=$(tail -n 1 "$LOG_FILE" || true)
# Prøv å finne siste NESTE OPPGAVE-blokk
NESTE=$(awk '/^## NESTE OPPGAVE/{found=1; next} found && /^## /{found=0} found{print}' "$LOG_FILE" | tail -5 || true)
else
LAST_LINE="(ingen tidligere sesjoner logget ennå)"
NESTE=""
fi
echo " Forrige : $LAST_LINE"
if [ -n "$NESTE" ]; then
echo
echo " ${GREEN}${BOLD}▶ NESTE OPPGAVE:${RESET}"
echo "$NESTE" | while IFS= read -r line; do
echo " ${GREEN}$line${RESET}"
done
else
echo " ${YELLOW}⚠️ Ingen NESTE OPPGAVE funnet — sjekk docs/VAUCO_OS_ROADMAP.md${RESET}"
fi
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 produksjonsdomene
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 — https://opax.vauco.no${RESET}"
else
done_fail
echo " ${RED}❌ OPAX-MCP: FEIL sjekk Cloud Run / DNS${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
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
if [ "$OPAX_OK" -eq 1 ] && [ "$GH_OK" -eq 1 ]; then
echo " ${GREEN}▶ OSVAUCO/OPAX READY — opax.vauco.no + GitHub verifisert.${RESET}"
elif [ "$OPAX_OK" -eq 1 ]; then
echo " ${GREEN}▶ OSVAUCO/OPAX READY — opax.vauco.no OK. GitHub CLI ikke aktiv.${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