boot/opax: bruk samme oppstart som proof-of-curiosity (Fase 1)
Some checks failed
Check Python Version Consistency / Check Python Version (push) Has been cancelled
Some checks failed
Check Python Version Consistency / Check Python Version (push) Has been cancelled
This commit is contained in:
parent
004267689c
commit
fceec08823
|
|
@ -57,30 +57,24 @@ printf "${NC}${DIM} Vauco OS · Operasjonsplatform · %s${NC}\n" "$(date '+
|
|||
printf "${DIM} ──────────────────────────────────────────────────────${NC}\n\n"
|
||||
|
||||
# =============================================================================
|
||||
# 1. AUTH
|
||||
# 1. AUTH & CREDENTIALS
|
||||
# =============================================================================
|
||||
printf "${BOLD}${CYAN}[ AUTH ]${NC}\n"
|
||||
if ! gcloud auth print-access-token >/dev/null 2>&1; then
|
||||
warn "gcloud auth utløpt — kjører login (no-browser)..."
|
||||
gcloud auth login --no-launch-browser
|
||||
else
|
||||
printf "${BOLD}${CYAN}[ AUTH & CREDENTIALS ]${NC}\n"
|
||||
|
||||
# Informativ gcloud CLI-status. Starter aldri login og stopper ikke boot.
|
||||
if gcloud auth print-access-token >/dev/null 2>&1; then
|
||||
ACCT=$(gcloud auth list --filter=status:ACTIVE --format='value(account)' 2>/dev/null | head -1)
|
||||
ok "gcloud auth ($ACCT)"
|
||||
ok "gcloud CLI-bruker ($ACCT)"
|
||||
else
|
||||
warn "gcloud CLI ikke innlogget. Kjør 'gcloud auth login' for manuelle operasjoner."
|
||||
fi
|
||||
|
||||
ADC_FILE="$HOME/.config/gcloud/.osvauco-adc-renewed"
|
||||
NEED_ADC=0
|
||||
if ! gcloud auth application-default print-access-token >/dev/null 2>&1; then
|
||||
NEED_ADC=1
|
||||
elif [[ ! -f "$ADC_FILE" ]] || [[ $(($(date +%s) - $(stat -c %Y "$ADC_FILE" 2>/dev/null || echo 0))) -gt 28800 ]]; then
|
||||
NEED_ADC=1
|
||||
fi
|
||||
if [[ $NEED_ADC -eq 1 ]]; then
|
||||
warn "ADC utløpt eller >8t — fornyer..."
|
||||
gcloud auth application-default login --no-launch-browser \
|
||||
--scopes="https://www.googleapis.com/auth/cloud-platform" && touch "$ADC_FILE"
|
||||
# Informativ ADC-status. Endrer aldri credentials eller miljøvariabler.
|
||||
if [[ -n "${GOOGLE_APPLICATION_CREDENTIALS:-}" ]]; then
|
||||
warn "GOOGLE_APPLICATION_CREDENTIALS er satt. Dette kan overstyre VM-ens standard credentials."
|
||||
printf " ${DIM}Boot-scriptet endrer ikke denne. For å fjerne: unset GOOGLE_APPLICATION_CREDENTIALS${NC}\n"
|
||||
else
|
||||
ok "ADC OK"
|
||||
ok "ADC/runtime: GOOGLE_APPLICATION_CREDENTIALS ikke satt. VM metadata/ADC vil bli brukt."
|
||||
fi
|
||||
|
||||
# =============================================================================
|
||||
|
|
@ -97,55 +91,36 @@ fi
|
|||
ok "region = $GOOGLE_CLOUD_LOCATION (LÅST)"
|
||||
|
||||
# =============================================================================
|
||||
# 3. REPO + GITHUB STATUS
|
||||
# 3. REPOSITORY STATUS
|
||||
# =============================================================================
|
||||
printf "${BOLD}${CYAN}[ REPO + GITHUB ]${NC}\n"
|
||||
printf "${BOLD}${CYAN}[ REPOSITORY STATUS ]${NC}\n"
|
||||
|
||||
if [[ -d "$OSVAUCO_DIR/.git" ]]; then
|
||||
cd "$OSVAUCO_DIR"
|
||||
BRANCH=$(git branch --show-current)
|
||||
git fetch --quiet origin 2>/dev/null && ok "git fetch OK" || warn "git fetch feilet (offline?)"
|
||||
|
||||
# Pull
|
||||
if git pull --ff-only origin "$BRANCH" >/dev/null 2>&1; then
|
||||
ok "git pull OK (branch: $BRANCH)"
|
||||
BRANCH=$(git branch --show-current 2>/dev/null || true)
|
||||
|
||||
if [[ -n "$BRANCH" ]]; then
|
||||
ok "Aktiv branch: $BRANCH"
|
||||
else
|
||||
warn "git pull ikke fast-forward — sjekk 'git status'"
|
||||
warn "Kunne ikke finne aktiv Git-branch"
|
||||
fi
|
||||
|
||||
# Ahead/behind
|
||||
AHEAD=$(git rev-list --count "origin/$BRANCH..HEAD" 2>/dev/null || echo "?")
|
||||
BEHIND=$(git rev-list --count "HEAD..origin/$BRANCH" 2>/dev/null || echo "?")
|
||||
if [[ "$AHEAD" == "0" && "$BEHIND" == "0" ]]; then
|
||||
ok "sync med origin/$BRANCH"
|
||||
else
|
||||
warn "ahead=$AHEAD behind=$BEHIND vs origin/$BRANCH"
|
||||
fi
|
||||
DIRTY=$(git status --porcelain 2>/dev/null | wc -l | tr -d ' ')
|
||||
|
||||
# Uncommitted
|
||||
DIRTY=$(git status --porcelain | wc -l)
|
||||
if [[ "$DIRTY" == "0" ]]; then
|
||||
ok "working tree clean"
|
||||
ok "Working tree: rent"
|
||||
else
|
||||
warn "$DIRTY uncommitted endringer ('git status' for liste)"
|
||||
warn "Working tree: $DIRTY lokale endring(er) uten commit"
|
||||
fi
|
||||
|
||||
# Last commit
|
||||
LAST=$(git log -1 --format='%h %s (%cr)' 2>/dev/null)
|
||||
printf " ${DIM}last:${NC} %s\n" "$LAST"
|
||||
LAST_COMMIT=$(git log -1 --oneline 2>/dev/null || true)
|
||||
|
||||
# gh CLI auth
|
||||
if command -v gh >/dev/null 2>&1; then
|
||||
if gh auth status >/dev/null 2>&1; then
|
||||
GH_USER=$(gh api user --jq '.login' 2>/dev/null || echo "?")
|
||||
ok "gh CLI auth ($GH_USER)"
|
||||
OPEN_PR=$(gh pr list --head "$BRANCH" --json number,title --jq '.[0] | "PR #\(.number): \(.title)"' 2>/dev/null)
|
||||
[[ -n "$OPEN_PR" ]] && printf " ${DIM}pr:${NC} %s\n" "$OPEN_PR"
|
||||
else
|
||||
warn "gh CLI ikke autentisert — kjør: gh auth login"
|
||||
fi
|
||||
else
|
||||
warn "gh CLI ikke installert — installer: sudo apt install gh"
|
||||
if [[ -n "$LAST_COMMIT" ]]; then
|
||||
printf " ${DIM}Siste lokale commit: ${LAST_COMMIT}${NC}\n"
|
||||
fi
|
||||
|
||||
printf " ${DIM}Remote-status kontrolleres ikke automatisk. Ved behov: git fetch origin && git status -sb${NC}\n"
|
||||
else
|
||||
fail "Repo ikke funnet på $OSVAUCO_DIR"
|
||||
fi
|
||||
|
|
|
|||
|
|
@ -79,7 +79,6 @@ printf "${DIM} ─────────────────────
|
|||
printf "${BOLD}${WHITE}Preflight${NC}
|
||||
"
|
||||
run_check "gcloud auth" "gcloud auth print-access-token" "Kjør: gcloud auth login --no-launch-browser" true || return 1
|
||||
run_check "ADC (application-default)" "gcloud auth application-default print-access-token" "Kjør: gcloud auth application-default login" true || return 1
|
||||
run_check "project = $GOOGLE_CLOUD_PROJECT" "[[ "$(gcloud config get-value project 2>/dev/null)" == "$GOOGLE_CLOUD_PROJECT" ]]" "Kjør: gcloud config set project $GOOGLE_CLOUD_PROJECT" false
|
||||
run_check "HANDOFF.md finnes" "[[ -f '$HANDOFF' ]]" "Mangler: $HANDOFF" false
|
||||
run_check "MASTERPLAN.md finnes" "[[ -f '$MASTERPLAN' ]]" "Mangler MASTERPLAN" false
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user