docs: MASTERPLAN oppdatert — Fase B komplett, DNS-arkitektur, OQ-14
This commit is contained in:
parent
220db6d669
commit
5bc4ada2cd
|
|
@ -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 |
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user