fix+docs: fiks iframe us-central1, legg til Fase C multi-tenant i MASTERPLAN

This commit is contained in:
chrischristiansen-glitch 2026-05-28 14:12:07 +02:00
parent 71c885281a
commit d86ae23706
2 changed files with 47 additions and 20 deletions

View File

@ -1,7 +1,7 @@
# MASTERPLAN — Vauco OS # MASTERPLAN — Vauco OS
**Eier:** Chris Christiansen · Vauco AS · Org.nr 935 989 779 **Eier:** Chris Christiansen · Vauco AS · Org.nr 935 989 779
**Sist oppdatert:** 2026-05-27 **Sist oppdatert:** 2026-05-28
**Status:** AUTORITATIV — én kilde til sannhet **Status:** AUTORITATIV — én kilde til sannhet
--- ---
@ -23,23 +23,25 @@ Overordnet plattform og merkevare. Holder VVL (Vauco Value Ledger), token-økono
Den tekniske motoren. Cloud Run (`osvauco-agent`) på GCP. Alle produkt-moduler bygger på OPAX-API-et. OPAX er ikke synlig for sluttkunden — det er plumbing. Den tekniske motoren. Cloud Run (`osvauco-agent`) på GCP. Alle produkt-moduler bygger på OPAX-API-et. OPAX er ikke synlig for sluttkunden — det er plumbing.
### CostGuard (Modul #1) ### CostGuard (Modul #1)
Første go-to-market produkt. Hjelper bedrifter å forstå og kontrollere GCP-kostnader via AI-drevet analyse. Live på `costguard.oss.vauco.no` (Cloudflare Pages). Backend via Cloud Run. Første go-to-market produkt. Hjelper bedrifter å forstå og kontrollere GCP-kostnader via AI-drevet analyse. Live på `costguard.oss.vauco.no` (Cloudflare Pages). Backend via Cloud Run `us-central1`.
--- ---
## 2. Infrastrukturstatus (per 2026-05-27) ## 2. Infrastrukturstatus (per 2026-05-28)
| Komponent | Status | URL / Detalj | | Komponent | Status | URL / Detalj |
|---|---|---| |---|---|---|
| Cloud Run (`osvauco-agent`) | ✅ Live | GCP us-central1 | | Cloud Run (`osvauco-agent`) | ✅ Live | GCP us-central1 |
| `opax.vauco.no` | ✅ Live | CNAME → ghs.googlehosted.com | | `opax.vauco.no` | ✅ Live | CNAME → ghs.googlehosted.com |
| `costguard.oss.vauco.no` | ✅ Live | Cloudflare Pages, docs/ | | `costguard.oss.vauco.no` | ✅ Live | Cloudflare Pages, docs/ |
| `docs/index.html` iframe | ✅ Fikset | Peker nå på us-central1 |
| BigQuery (`osvauco_logs`) | ⏳ Venter | Sink oppe, tabell populeres | | BigQuery (`osvauco_logs`) | ⏳ Venter | Sink oppe, tabell populeres |
| OAuth2 (Google) | ✅ Konfigurert | Secret Manager | | OAuth2 (Google) | ✅ Konfigurert | Secret Manager |
| CI/CD (Cloud Build) | ✅ Live | Google Chat deploy-varsler | | CI/CD (Cloud Build) | ✅ Live | Google Chat deploy-varsler |
| Budget guard (500 NOK/mnd) | ✅ Live | 50/90/100% terskler | | Budget guard (500 NOK/mnd) | ✅ Live | 50/90/100% terskler |
| IAP på Cloud Run | 🔜 Fase C | Krever LB — Terraform-modul | | IAP på Cloud Run | 🔜 Fase C | Krever LB — Terraform-modul |
| BQ billing export (`gcp_billing_export_v1_*`) | ⏳ Venter | Første tabell ikke populert ennå | | BQ billing export (`gcp_billing_export_v1_*`) | ⏳ Venter | Første tabell ikke populert ennå |
| Multi-tenant stamp-out | 🔜 Fase C | Onboarding-script + admin-panel |
--- ---
@ -58,29 +60,52 @@ Første go-to-market produkt. Hjelper bedrifter å forstå og kontrollere GCP-ko
### 🔄 Aktiv nå ### 🔄 Aktiv nå
- **CG3 — CostGuard Frontend Wiring** - **CG3 — CostGuard Frontend Wiring**
- `docs/index.html` (Cloudflare Pages) og `static/billing-dashboard.html` - `docs/index.html` (Cloudflare Pages) → iframe fikset til us-central1 ✅
- `static/billing-dashboard.html` live
- OAuth login flow (`/auth/login?client_id=demo`) kobles til Cloud Run - OAuth login flow (`/auth/login?client_id=demo`) kobles til Cloud Run
- BigQuery-data vises når `gcp_billing_export_v1_*` er populert - BigQuery-data vises når `gcp_billing_export_v1_*` er populert
- HITL gate: `CG3 APPROVED` - HITL gate: `CG3 APPROVED`
### 🔜 Neste ### 🔜 Neste — Fase C (etter CG3 APPROVED)
- **Fase C — IAP + Terraform** **C1 — IAP + Terraform**
- LB + IAP for `opax.vauco.no` (begrens til `@vauco.no`) - LB + IAP for `opax.vauco.no` (begrens til `@vauco.no`)
- Konverter `infrastructure/*.sh` → Terraform-modul i `vauco-bootstrap/` - Konverter `infrastructure/*.sh` → Terraform-modul i `vauco-bootstrap/`
- Sett `IAP_ENABLED=true` + `IAP_AUDIENCE` i Cloud Run env-vars
- **BQ-2 / BQ-3** — Verifiser sink-SA IAM → Looker Studio dashboard **C2 — Multi-tenant Stamp-Out**
- **Threadstone Fase 1**`vauco-saas/threadstone-instructions` repo, Master Hub v3.2 Målet: Du lager en modul i din admin-view. Kunden får sin egen isolerte instans automatisk.
- **Dialogflow CX** — Norsk Playbook-agent, webhook mot Cloud Run ```
Du (admin, opax.vauco.no)
└── klikker "Opprett klient: Medioteq"
onboarding-script provisjonerer:
- medioteq-oss.vauco.no (staging — kunden tester her)
- medioteq-os.vauco.no (prod — live etter godkjenning)
- Eget GCP-prosjekt (isolert, spesielt viktig for Medioteq/helse)
- Kunden logger inn med Google OAuth (BankID for helse-kunder)
- Ingenting av Vauco OS sin interne infrastruktur eksponeres
```
Leveranser i C2:
- `scripts/onboard-client.sh <klientnavn>` — provisjonerer DNS + Cloud Run + GCP-prosjekt
- `opax.vauco.no/admin` — admin-panel: liste over klienter, status, knapp for oss → os flip
- ARCHITECTURE.md oppdateres med klient-isolasjonsmodell
- Første testkandidat: CostGuard som mal (den er allerede bygget)
**C3 — BQ-2 / Looker Studio**
- Verifiser sink-SA IAM → Looker Studio dashboard
- Koble live BQ-data til billing-dashboard
### 📋 Backlog ### 📋 Backlog
- `opax-mcp/` restruktureres som modul-subtree - `opax-mcp/` restruktureres som modul-subtree
- Full boot cycle acceptance test (automatisert) - Full boot cycle acceptance test (automatisert)
- Multi-klient onboard-mønster - **Threadstone Fase 1**`vauco-saas/threadstone-instructions` repo, Master Hub v3.2 (Q3 2026)
- **Medioteq** — kun idéfase, ingenting implementeres før OPAX er fullt operasjonelt - **Dialogflow CX** — Norsk Playbook-agent, webhook mot Cloud Run
- **Medioteq** — kun idéfase, ingenting implementeres før OPAX multi-tenant er operasjonelt
- **VVL Fase 2** — $VCO on-chain (Q3 2026), etter Threadstone Fase 1 er validert - **VVL Fase 2** — $VCO on-chain (Q3 2026), etter Threadstone Fase 1 er validert
--- ---
@ -120,9 +145,9 @@ REGEL 5 — AUTO-SNAPSHOT VED GH-OPERASJONER
Lagre til: docs/archive/sessions/[YYYY-MM-DD]_[emne].md Lagre til: docs/archive/sessions/[YYYY-MM-DD]_[emne].md
``` ```
### Kommersiell potensiell ### Kommersiell potensial
Protokollanenn pakkes og selges under OPAX-paraplyen i tre nivåer: Protokollen pakkes og selges under OPAX-paraplyen i tre nivåer:
| Nivå | Produkt | Modell | | Nivå | Produkt | Modell |
|---|---|---| |---|---|---|
@ -157,7 +182,8 @@ vauco-saas/OSVauco/
│ └── archive/ ← alt arkivert, ingenting slettet │ └── archive/ ← alt arkivert, ingenting slettet
│ └── sessions/ ← sesjonslogger fra vauco-os │ └── sessions/ ← sesjonslogger fra vauco-os
├── static/ ├── static/
│ └── billing-dashboard.html ← CostGuard dashboard │ ├── billing-dashboard.html ← CostGuard dashboard
│ └── command-hub.html ← Vauco OS TUI (intern bruk)
└── src/ ← OPAX backend └── src/ ← OPAX backend
``` ```
@ -168,6 +194,7 @@ vauco-saas/OSVauco/
- **GCP Project:** `propane-will-491900-m5` - **GCP Project:** `propane-will-491900-m5`
- **Region:** `us-central1` - **Region:** `us-central1`
- **Cloud Run service:** `osvauco-agent` - **Cloud Run service:** `osvauco-agent`
- **Cloud Run URL:** `https://osvauco-agent-357036551735.us-central1.run.app`
- **Secret Manager:** Google OAuth2-credentials - **Secret Manager:** Google OAuth2-credentials
- **Billing account:** se Secret Manager - **Billing account:** se Secret Manager
- **Kontakt:** chris.christiansen@vauco.no - **Kontakt:** chris.christiansen@vauco.no
@ -175,4 +202,4 @@ vauco-saas/OSVauco/
--- ---
*Vauco AS · Org.nr 935 989 779 · Oslo, Norge* *Vauco AS · Org.nr 935 989 779 · Oslo, Norge*
*Powered by OPAX · Crafted by Chris Vauger* *Powered by OPAX · Crafted by Chris Christiansen*

View File

@ -37,7 +37,7 @@ footer{padding:10px 20px 16px;font-size:11px;color:var(--faint);text-align:cente
<a href="/auth/login?client_id=demo" class="button">Koble til GCP</a> <a href="/auth/login?client_id=demo" class="button">Koble til GCP</a>
</div> </div>
<iframe src="https://osvauco-agent-357036551735.europe-west1.run.app/static/billing-dashboard.html"></iframe> <iframe src="https://osvauco-agent-357036551735.us-central1.run.app/static/billing-dashboard.html"></iframe>
</main> </main>