OSVauco/scripts/preflight.sh
Chris Christiansen f301cfba4a auto: sync
2026-05-31 11:25:54 +00:00

66 lines
2.2 KiB
Bash
Executable File

#!/usr/bin/env bash
# preflight.sh — alias 'pf'
# Sjekker auth, project, .env og git status
set -euo pipefail
GREEN="$(tput setaf 2)"; RED="$(tput setaf 1)"; YELLOW="$(tput setaf 3)"; NC="$(tput sgr0)"; BOLD="$(tput bold)"
ok() { printf " ${GREEN}✦ OK${NC} %s\n" "$1"; }
fail() { printf " ${RED}✗ FAIL${NC} %s\n" "$1"; }
warn() { printf " ${YELLOW}⚠ WARN${NC} %s\n" "$1"; }
printf "${BOLD}OSVauco Preflight${NC}\n"
printf "────────────────────────────────\n"
# 1. gcloud auth
if gcloud auth print-access-token >/dev/null 2>&1; then
ACCOUNT=$(gcloud auth list --filter=status:ACTIVE --format='value(account)' 2>/dev/null | head -1)
ok "gcloud auth ($ACCOUNT)"
else
fail "gcloud auth — ikke innlogget"
echo ""
echo " Kjør: gcloud auth login --no-launch-browser"
exit 1
fi
# 2. ADC
if gcloud auth application-default print-access-token >/dev/null 2>&1; then
ok "ADC (application-default)"
else
warn "ADC ikke satt — kjører: gcloud auth application-default login --no-launch-browser"
gcloud auth application-default login --no-launch-browser \
--scopes="https://www.googleapis.com/auth/cloud-platform"
fi
# 3. Prosjekt
PROJECT=$(gcloud config get-value project 2>/dev/null)
if [[ "$PROJECT" == "propane-will-491900-m5" ]]; then
ok "GCP project ($PROJECT)"
else
warn "Feil prosjekt: '$PROJECT' — setter til propane-will-491900-m5"
gcloud config set project propane-will-491900-m5
fi
# 4. .env
if [[ -f "$HOME/OSVauco/.env" ]]; then
ok ".env eksisterer"
else
fail ".env mangler — IKKE opprett fra .env.example"
echo " Hent fra Secret Manager:"
echo " gcloud secrets versions access latest --secret=osvauco-env --project=propane-will-491900-m5 > .env"
fi
# 5. Git status
cd "$HOME/OSVauco"
GIT_BRANCH=$(git branch --show-current 2>/dev/null)
GIT_DIRTY=$(git status --porcelain 2>/dev/null | wc -l | tr -d ' ')
if [[ "$GIT_BRANCH" == "main" ]]; then
ok "git branch (main)"
else
warn "git branch er '$GIT_BRANCH' — forventet main"
fi
[[ "$GIT_DIRTY" -gt 0 ]] && warn "$GIT_DIRTY ustaged endringer" || ok "git working tree (rent)"
printf "────────────────────────────────\n"
echo ""