OSVauco/infrastructure/TRUTH.md

177 lines
6.4 KiB
Markdown

# TRUTH.md — GCP Infrastruktur Sannhetsfil
> **Sist oppdatert:** 2026-06-29 18:58 CEST
> **Prosjekt:** propane-will-491900-m5
> **DENNE FILEN ER FASIT** — oppdater alltid her når noe endres
---
## VM-instanser
| Navn | Sone | Maskintype | GPU | Ekstern IP | Status |
|---|---|---|---|---|---|
| `osvauco-dev-vm` | us-central1-b | e2-standard-2 | Ingen | 34.59.131.162 | RUNNING |
| `emma-gpu-vm` | europe-west4-a | g2-standard-8 | NVIDIA L4 (24GB VRAM) | 34.13.238.133 | RUNNING |
### Roller
- **osvauco-dev-vm** → lett inngangsport, MCP, Jason TUI, gcloud-orkestrering
- **emma-gpu-vm** → GPU-inferens via Ollama, fremtidig Gitea + databaser
---
## emma-gpu-vm — Faktisk status (verifisert 2026-06-29)
### Ollama-modeller (port 11434, lytter på alle IP)
| Modell | Størrelse | Sist endret | Bruk |
|---|---|---|---|
| `gemma3:27b` | 17 GB | 25 timer siden | 🎯 Primær — Emma Vauger |
| `gemma3:4b` | 3.3 GB | 23 timer siden | Rask inferens / fallback |
| `qwen2.5:3b` | 1.9 GB | 23 timer siden | Lett hjelpeoppgaver |
| `nomic-embed-text:latest` | 274 MB | 24 timer siden | RAG embedding |
### Aktive porter
- `:11434` — Ollama API ✅ (lytter på alle IP)
- `:22` — SSH ✅
- `:53` — DNS (kun lokalt)
### Ikke installert ennå
- ❌ Docker
- ❌ Gitea (port 3000)
- ❌ Databaser
- ❌ netstat (bruk `ss` istedet)
---
## Cloud Run-tjenester
| Tjeneste | Region | URL | Status |
|---|---|---|---|
| `opax-mcp` | us-central1 | https://opax-mcp-357036551735.us-central1.run.app | ✅ OK |
| `opax` | europe-west1 | https://opax-357036551735.europe-west1.run.app | ✅ OK |
| `osvauco-agent` | europe-west1 | https://osvauco-agent-357036551735.europe-west1.run.app | ✅ OK |
| `osvauco-agent` | us-central1 | https://osvauco-agent-357036551735.us-central1.run.app | ⚠️ deploying |
| `vauco-tui-bridge` | europe-west1 | https://vauco-tui-bridge-357036551735.europe-west1.run.app | ✅ OK |
| `billing-auto-teardown` | us-central1 | https://billing-auto-teardown-357036551735.us-central1.run.app | ✅ OK |
---
## Load Balancer — Forwarding Rules
| Navn | IP | Domene |
|---|---|---|
| osvauco-agent-forwarding-rule | 34.98.77.173 | opax.vauco.no (IAP-beskyttet) |
| vauco-os-http/https | 34.144.224.45 | vauco.no / os.vauco.no |
| vauco-site-http/https | 34.13.124.217 | vauco.no (statisk site) |
| vauco-tui-bridge-forwarding-rule | 34.117.108.44 | tui-bridge |
---
## Backend Services
| Navn | NEG | Status |
|---|---|---|
| `gitea-backend` | ❌ ingen backend koblet ennå | 🔧 UNDER OPPSETT |
| `osvauco-agent-iap-backend` | us-central1/neg-osvauco-agent | ✅ OK |
| `vauco-os-backend` | us-central1/vauco-os-neg | ✅ OK |
| `vauco-tui-bridge-backend` | europe-west1/vauco-tui-bridge-neg | ✅ OK |
### gitea-backend oppsett (pågår)
- NEG `gitea-neg` opprettet (INTERNET_IP_PORT, global)
- Endpoint feil: peker på `34.59.131.162:3000` (dev-vm) — **skal være `34.13.238.133:3000` (emma-vm)**
- `add-backend` feiler med "not ready" — GCP-timing bug, prøves igjen
---
## URL Maps
| URL Map | Ruter til |
|---|---|
| osvauco-agent-url-map | osvauco-agent-iap-backend |
| vauco-os-urlmap | vauco-os-backend |
| vauco-site-urlmap | Cloud Storage bucket (vauco-site-backend) |
| vauco-tui-bridge-url-map | vauco-tui-bridge-backend |
| vauco-site-redirect-urlmap | (redirect) |
---
## Secret Manager (31 secrets)
Nøkkelsecreter:
- `GEMINI_API_KEY` — Gemini 2.5 Pro API (fallback for Emma)
- `GITHUB_PAT` / `github-token` — GitHub tilgang (midlertidig, erstattes av Gitea)
- `gitea-api-token` / `gitea-token` — Gitea tilgang
- `mcp-server-key` — opax-mcp autentisering
- `OAUTH_CLIENT_ID` / `OAUTH_CLIENT_SECRET` — IAP OAuth
- `CHAT_WEBHOOK_URL` / `webhook-url` — webhooks
---
## Cloud Storage (12 buckets)
| Bucket | Formål |
|---|---|
| `osvauco-ml-telemetry` | Agent telemetri/logging |
| `osvauco-rag-staging` | RAG-dokumenter |
| `vauco-site-public` | Statisk nettside |
| `propane-will-491900-m5_cloudbuild` | Cloud Build artefakter |
| `run-sources-*` / `gcf-v2-*` | Cloud Run/Functions |
---
## IAM — Servicekontoer
| Navn | Email | Brukes av |
|---|---|---|
| jason-vauger | jason-vauger@propane-will-491900-m5.iam.gserviceaccount.com | opax-mcp |
| osvauco-agent-sa | osvauco-agent-sa@propane-will-491900-m5.iam.gserviceaccount.com | osvauco-agent |
| vauco-os-core | vauco-os-core@propane-will-491900-m5.iam.gserviceaccount.com | vauco-os |
| vertex-agent-sa | vertex-agent-sa@propane-will-491900-m5.iam.gserviceaccount.com | OSVauco Agent Runner |
| vps-ai | vps-ai@propane-will-491900-m5.iam.gserviceaccount.com | VPS-AI |
---
## Brannmurregler (relevante)
- `allow-gitea-internal` — port 3000 fra GCP LB
- `allow-ollama` — port 11434 fra spesifikk IP
- `default-allow-ssh` — port 22 fra 0.0.0.0/0
- `default-allow-http/https` — port 80/443
---
## Agenter
| Agent | Status | Modell | Plattform |
|---|---|---|---|
| **Jason Vauger** | ✅ LIVE | Gemini 2.5 Pro (API) | Cloud Run + TUI på dev-vm |
| **Emma Vauger** | 🔧 DELVIS KLAR | gemma3:27b via Ollama | emma-gpu-vm:11434 — mangler integrasjon |
| `gemma3:4b` | ✅ klar | — | emma-gpu-vm — rask fallback |
| `qwen2.5:3b` | ✅ klar | — | emma-gpu-vm — lett hjelper |
| `nomic-embed-text` | ✅ klar | — | emma-gpu-vm — RAG embedding |
| Gemini 2.5 Pro API | ✅ tilgjengelig | — | Sjelden fallback ved kode-spørsmål |
---
## Viktige regler / lærdommer
-**Aldri** `curl` mot `169.254.169.254` metadata-server — henger alltid
- ✅ Bruk `gcloud compute instances describe` for å hente VM-info
- ✅ Bruk `ss -tlnp` istedet for `netstat` på emma-vm (netstat ikke installert)
- ⚠️ `INTERNET_IP_PORT NEG` + `add-backend` har GCP-timing bug — vent 2-3 min eller prøv via Console
- 🎯 GitHub er **midlertidig** — alt skal over på Gitea på emma-gpu-vm
- 📦 emma-gpu-vm er hoved-VM — Gitea, Emma, databaser, lagring hører hjemme der
- 🔑 opax-mcp mangler `OPAX_IAP_CLIENT_ID` env var — blokkerer alle 25 MCP-verktøy
---
## TODO / Neste steg (prioritert)
- [ ] **#1** Fiks `OPAX_IAP_CLIENT_ID` i opax-mcp Cloud Run — låser opp alle MCP-verktøy
- [ ] **#2** Koble Jason til Emma via Ollama API (`http://34.13.238.133:11434`)
- [ ] **#3** Installer Gitea på emma-gpu-vm (port 3000)
- [ ] **#4** Oppdater gitea-neg endpoint til `34.13.238.133:3000`
- [ ] **#5** Fullfør `gitea-backend add-backend` (gitea.vauco.no)
- [ ] **#6** Fiks `dev-startup.sh` — henger på oppstart
- [ ] **#7** Speil OSVauco-repo fra GitHub til Gitea
- [ ] **#8** Fase ut GitHub når Gitea er stabil