docs: MASTERPLAN oppdatert — Fase B komplett, DNS-arkitektur, OQ-14

This commit is contained in:
chrischristiansen-glitch 2026-05-26 04:01:04 +02:00
parent 220db6d669
commit 5bc4ada2cd

View File

@ -1,7 +1,7 @@
# VAUCO MASTERPLAN — Chris Christiansen # VAUCO MASTERPLAN — Chris Christiansen
**Sist oppdatert: 2026-05-26 CEST** **Sist oppdatert: 2026-05-26 CEST**
**Status: ✅ FASE A KOMPLETT | ML-1 live | Røyktest 10/10 | B-fasen neste** **Status: ✅ FASE A KOMPLETT | ✅ FASE B (B1-B5) KOMPLETT | ML-1 live | Røyktest 10/10 | Fase C neste**
--- ---
@ -37,6 +37,22 @@ Du er første kunde. Når det virker for deg → selg det til andre.
--- ---
## DNS / DOMENE-ARKITEKTUR
> **Arkitekturavgjørelse — 2026-05-26**
| Domene | Type | Teknologi | Fase |
|---|---|---|---|
| `opax.vauco.no` | Intern cockpit (kun Chris) | CNAME → Cloud Run (gratis) | B1 nå |
| `kunde1.vauco.no` / kundedomener | Kunde-instanser | LB + IAP (Terraform) | Fase C |
**Begrunnelse:**
- `opax.vauco.no` er et internt arbeidsverktøy for én bruker — Load Balancer ($18-20/mnd) er unødvendig overhead.
- Kundeinstanser provisjoneres via `vauco-bootstrap` Terraform-modul i Fase C. LB + IAP bakes inn i modulen én gang og kjøres automatisk per kunde med `terraform apply -var="customer_id=X"`.
- Terraform-modulen (Fase C) skal inkludere: Cloud Run, Cloud Build, IAP, LB, budsjett, SA, Dialogflow CX, ML state store.
---
## CLOUD SHELL QUICK-START (kopi-klipp) ## CLOUD SHELL QUICK-START (kopi-klipp)
> Bruk Cloud Shell: https://shell.cloud.google.com > Bruk Cloud Shell: https://shell.cloud.google.com
@ -155,15 +171,23 @@ bash infrastructure/03-teardown.sh
--- ---
## FASE B — Sikring og CI/CD ## FASE B — Sikring og CI/CD ✅ KOMPLETT
``` ```
[ ] B1 — bash infrastructure/02-deploy.sh (IAP på opax.vauco.no) [x] B1 — Cloud Run deploy live (osvauco-agent-00065-z7t, us-central1)
[ ] B2 — Opprett GitHub PAT og legg i Secret Manager IAP opax.vauco.no: CNAME-metode (se B1-IAP nedenfor)
[ ] B3 — bash infrastructure/06-cicd-setup.sh [x] B2 — GitHub PAT i Secret Manager (github-pat)
[ ] B4 — Legg til webhook URL i Secret Manager [x] B3 — Cloud Build 2nd gen pipeline
[ ] B5 — bash infrastructure/10-cost-guard.sh Connection: osvauco-github-conn
Auto-teardown Cloud Function + GCS sink for ML-telemetri Trigger: osvauco-agent-deploy (ID: 2fdd789f-a4dc-4f4a-8297-5e91674d2178)
Push til main → auto build + deploy
[x] B4 — Webhook (løst av 2nd gen GitHub App — ingen manuell webhook nødvendig)
[x] B5 — Cost guard + GCS ML-telemetri
Budget: osvauco-monthly-guard (500 NOK/mnd, 50/90/100% alerts)
Bucket: gs://osvauco-ml-telemetry (90-dagers lifecycle)
Sink: osvauco-ml-sink → Cloud Run logger → GCS
[ ] B1-IAP — opax.vauco.no via CNAME → Cloud Run domain mapping
Status: NESTE STEG
[ ] B6 — Eksporter Dialogflow CX agent til versjonskontroll [ ] B6 — Eksporter Dialogflow CX agent til versjonskontroll
``` ```
@ -173,6 +197,8 @@ bash infrastructure/03-teardown.sh
``` ```
[ ] C1 — Pakk vauco-bootstrap som Terraform-modul [ ] C1 — Pakk vauco-bootstrap som Terraform-modul
Inkluder per kunde: Cloud Run, Cloud Build, IAP (LB), budsjett, SA, Dialogflow CX, ML state store
Kjøring: terraform apply -var="customer_id=X"
[ ] C2 — Pakk vauco-os som kundeflate [ ] C2 — Pakk vauco-os som kundeflate
[ ] C3 — Opprett billing@vauco.no som Google Group [ ] C3 — Opprett billing@vauco.no som Google Group
[ ] C4 — Første kunde: Medioteq [ ] C4 — Første kunde: Medioteq
@ -216,7 +242,8 @@ bash infrastructure/03-teardown.sh
| OQ-10 | GCP billing: Creator på domenet | **LØST** | | OQ-10 | GCP billing: Creator på domenet | **LØST** |
| OQ-11 | Dialogflow CX Data Store norsk indeksering | Teste nb-NO i DX2 | | OQ-11 | Dialogflow CX Data Store norsk indeksering | Teste nb-NO i DX2 |
| OQ-12 | gemini-2.0-flash/gemini-2.0-flash-001 ikke tilgjengelig nye prosjekter | **LØST** — gemini-2.5-flash/pro + LOCATION=global | | OQ-12 | gemini-2.0-flash/gemini-2.0-flash-001 ikke tilgjengelig nye prosjekter | **LØST** — gemini-2.5-flash/pro + LOCATION=global |
| OQ-13 | ML-telemetri /tmp/ flyktig i Cloud Run | B5: GCS sink | | OQ-13 | ML-telemetri /tmp/ flyktig i Cloud Run | **LØST** — B5: GCS sink |
| OQ-14 | LB vs CNAME for domene-routing | **LØST** — CNAME for opax (intern), LB i Terraform for kunder (Fase C) |
--- ---
@ -278,7 +305,7 @@ Legacy `A` / `A+` normaliseres automatisk til `light` / `heavy`.
|---|---| |---|---|
| Fase C: Medioteq | `vauco-bootstrap` → Terraform-modul | | Fase C: Medioteq | `vauco-bootstrap` → Terraform-modul |
| Per kunde | `terraform apply -var="customer_id=X"` | | Per kunde | `terraform apply -var="customer_id=X"` |
| Ressurser | Cloud Run, Cloud Build, IAP, budsjett, SA, Dialogflow CX, ML state store | | Ressurser | Cloud Run, Cloud Build, IAP (LB), budsjett, SA, Dialogflow CX, ML state store |
| State-backend | GCS (`TF_STATE_BUCKET`) | | State-backend | GCS (`TF_STATE_BUCKET`) |
| Fase D | Terraform Cloud | | Fase D | Terraform Cloud |