4.5 KiB
4.5 KiB
OSVauco — VM Bootstrap Guide
Denne guiden gjelder ny VM eller etter serverbytte.
Følg stegene i rekkefølge. Ikke hopp over noe.
Forutsetninger
| Krav | Verdi |
|---|---|
| GCP-prosjekt | propane-will-491900-m5 |
| Cloud Run region | us-central1 |
| Vertex AI location | us-central1 |
| Billing account | 0171F6-057E6B-A260BA |
| gcloud CLI | Installert på VM (gcloud version) |
| Git | Installert (git --version) |
Steg 1 — SSH-nøkkel til GitHub (én gang per VM)
# Generer nøkkel
ssh-keygen -t ed25519 -C "chris.christiansen@vauco.no" -f ~/.ssh/id_ed25519 -N ""
# Vis public key — kopier hele linjen
cat ~/.ssh/id_ed25519.pub
Gå til github.com/settings/keys → New SSH key
Tittel: osvauco-dev-vm → lim inn nøkkelen → Add SSH key
# Test tilkobling
ssh -T git@github.com
# Forventet: Hi chrischristiansen-glitch! You've successfully authenticated...
Steg 2 — Klon repo og sett opp .env
cd ~
git clone git@github.com:chrischristiansen-glitch/OSVauco.git
cd OSVauco
# Sett git-identitet
git config --global user.name "Chris Christiansen"
git config --global user.email "chris.christiansen@vauco.no"
# Opprett .env
cp .env.example .env
nano .env
Fyll inn disse to feltene (resten er ferdigutfylt):
export BILLING_ACCOUNT_ID="0171F6-057E6B-A260BA"
# ALERT_EMAIL er allerede satt til chris.christiansen@vauco.no
Steg 3 — Autentiser med din Google-konto
⚠️ Viktig: VM-en starter med Compute Engine default service account.
Du MÅ logge inn som deg selv — ellers feiler alle gcloud-kall.
gcloud auth login
# Følg lenken, logg inn som chris.christiansen@vauco.no
gcloud auth application-default login
# Samme prosess — nødvendig for Vertex AI / ADK
gcloud config set project propane-will-491900-m5
gcloud config set compute/region us-central1
Verifiser:
gcloud auth list
# Skal vise: * chris.christiansen@vauco.no
Steg 4 — Kjør bootstrap-scriptet
source .env
bash scripts/bootstrap.sh
Scriptet gjør i rekkefølge:
- Auth-sjekk
- Bygg base Docker-image (hvis ikke finnes)
- Verifiser at Cloud Run-agenten svarer
Steg 5 — Manuell IAM-fix (kun ved nytt prosjekt / ny CI/CD)
Disse to IAM-bindingene må ligge på plass for at CI/CD skal fungere:
# Cloud Build SA kan deploye som osvauco-agent-sa
gcloud iam service-accounts add-iam-policy-binding \
osvauco-agent-sa@propane-will-491900-m5.iam.gserviceaccount.com \
--member="serviceAccount:357036551735@cloudbuild.gserviceaccount.com" \
--role="roles/iam.serviceAccountUser" \
--project=propane-will-491900-m5
# osvauco-agent-sa kan opptre som seg selv
gcloud iam service-accounts add-iam-policy-binding \
osvauco-agent-sa@propane-will-491900-m5.iam.gserviceaccount.com \
--member="serviceAccount:osvauco-agent-sa@propane-will-491900-m5.iam.gserviceaccount.com" \
--role="roles/iam.serviceAccountUser" \
--project=propane-will-491900-m5
Hurtigtest — svar fra agenten
TOKEN=$(gcloud auth print-identity-token)
curl -s -X POST -H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"user_id":"chris","session_id":"test-1","message":"Hei, hvem er du?"}' \
https://osvauco-agent-357036551735.us-central1.run.app/run | python3 -m json.tool
Forventet svar:
{
"user_id": "chris",
"session_id": "test-1",
"response": "Jeg er OPAX, en OSVauco AI-agent."
}
Kveld — teardown (OBLIGATORISK)
bash infrastructure/03-teardown.sh
Kjøres hver kveld for å unngå 24/7-fakturering.
Feilsøking
| Feil | Årsak | Fix |
|---|---|---|
ACCESS_TOKEN_SCOPE_INSUFFICIENT |
Kjører som Compute SA | gcloud auth login |
Publisher Model ...gemini-2.0-flash(-001) was not found |
2.0-modellene er utfaset / ikke tilgjengelige i prosjektet | Sett GOOGLE_CLOUD_LOCATION=us-central1 og bruk ORCHESTRATOR_MODEL=gemini-2.5-flash, SUBAGENT_MODEL=gemini-2.5-flash, REASONING_MODEL=gemini-3.5-flash |
osvauco-base:latest not found |
Base-image ikke bygget | bash scripts/bootstrap.sh |
iam.serviceaccounts.actAs denied |
Mangler IAM-binding | Steg 5 over |
git push krever passord |
HTTPS-remote | git remote set-url origin git@github.com:chrischristiansen-glitch/OSVauco.git |
fetch first ved push |
Remote har nyere commits | git pull --rebase && git push |
OSVauco-NMTMD-GCOS | propane-will-491900-m5 | us-central1