docs: oppdater .env.example (2nd gen vars) og MASTERPLAN (OQ-04 løst, Terraform-veikart)

This commit is contained in:
chrischristiansen-glitch 2026-05-23 23:11:41 +02:00
parent c4398513cb
commit 4502ae09fd
2 changed files with 75 additions and 23 deletions

View File

@ -11,7 +11,8 @@ export ALERT_EMAIL="your-email@example.com"
# ── Service Account ────────────────────────────────────────────
export AGENT_SA="osvauco-agent-sa@${PROJECT_ID}.iam.gserviceaccount.com"
# ── Cloud Run ────────────────────────────────────────────────nexport CLOUD_RUN_SERVICE="osvauco-agent"
# ── Cloud Run ────────────────────────────────────────────────
export CLOUD_RUN_SERVICE="osvauco-agent"
export ARTIFACT_REPO="agent-images"
# ── Vertex AI RAG Engine ────────────────────────────────────
@ -26,23 +27,39 @@ export MEMORY_INSTANCE_DISPLAY_NAME="${PROJECT_ID}-memory-bank"
# Populated by 08-memorybank-setup.sh — copy from script output:
export MEMORY_ENGINE_NAME="" # projects/PROJECT_NUM/locations/REGION/reasoningEngines/ID
# ── Agent Models ────────────────────────────────────────────nexport ORCHESTRATOR_MODEL="gemini-2.0-flash-001"
# ── Agent Models ─────────────────────────────────────────────
export ORCHESTRATOR_MODEL="gemini-2.0-flash-001"
export SUBAGENT_MODEL="gemini-2.0-flash-001"
# ── CI/CD ───────────────────────────────────────────────────
# ── CI/CD — Cloud Build 2nd gen ──────────────────────────────
export GITHUB_OWNER="chrischristiansen-glitch"
export GITHUB_REPO="OSVauco"
# GitHub PAT — lagres i Secret Manager, ikke her:
# gcloud secrets create github-token --data-file=<(echo -n "ghp_TOKEN")
# GitHub App Installation ID — finn på:
# https://github.com/settings/installations → klikk på Cloud Build-appen → URL-en inneholder ID
export GITHUB_APP_INSTALLATION_ID="" # eks: 12345678
# ── Observability ───────────────────────────────────────────# ALERT_EMAIL is already set above
# ── Observability ────────────────────────────────────────────
# ALERT_EMAIL er allerede satt ovenfor
# ── VPC / Security (optional) ─────────────────────────────
# ── VPC / Security (valgfritt) ────────────────────────────────
export VPC_NETWORK="default"
# export CMEK_KEY_RING="agent-keyring" # only if using CMEK
# export CMEK_KEY_NAME="agent-key" # only if using CMEK
# export CMEK_KEY_RING="agent-keyring" # kun ved CMEK
# export CMEK_KEY_NAME="agent-key" # kun ved CMEK
# ── IAP / Domain (Phase B) ────────────────────────────────# export IAP_DOMAIN="opax.vauco.no"
# export IAP_CLIENT_ID="" # from GCP Console → IAP
# export IAP_CLIENT_SECRET="" # from GCP Console → IAP
# ── IAP / Domene (Fase B) ─────────────────────────────────────
# export IAP_DOMAIN="opax.vauco.no"
# export IAP_CLIENT_ID="" # fra GCP Console → IAP
# export IAP_CLIENT_SECRET="" # fra GCP Console → IAP
# ── LiteLLM proxy (optional) ──────────────────────────────# export LITELLM_BASE_URL=""
# ── Terraform / Kunde-onboarding (Fase C) ─────────────────────
# Brukes av vauco-bootstrap Terraform-modul ved onboarding av ny kunde
# export TF_VAR_customer_id="medioteq"
# export TF_VAR_customer_project_id=""
# export TF_VAR_customer_region="europe-north1"
# export TF_STATE_BUCKET="${PROJECT_ID}-tfstate" # GCS bucket for Terraform state
# ── LiteLLM proxy (valgfritt) ─────────────────────────────────
# export LITELLM_BASE_URL=""
# export LITELLM_API_KEY=""

View File

@ -16,7 +16,7 @@ Du er første kunde. Når det virker for deg → selg det til andre.
| `OSVauco` | Regler, GCP-scripts, agenter, docs — KJERNEN |
| `vauco-gemini-tui-bridge` | Din TUI-cockpit |
| `vauco-os` | Det kundene bruker |
| `vauco-bootstrap` | Onboarding av nye kunder |
| `vauco-bootstrap` | Onboarding av nye kunder (→ Terraform-modul i Fase C) |
| `deep-dream` | Strategisk visjon — aldri deploy herfra |
---
@ -34,7 +34,7 @@ cd ~/OSVauco
# Steg 2: Kopier og rediger .env
cp .env.example .env
nano .env
# Fyll ut: BILLING_ACCOUNT_ID og ALERT_EMAIL
# Fyll ut: BILLING_ACCOUNT_ID, ALERT_EMAIL, GITHUB_APP_INSTALLATION_ID
# Alle andre verdier er ferdig-forhåndsutfylt
# Steg 3: Installer Python-avhengigheter
@ -96,9 +96,14 @@ bash infrastructure/03-teardown.sh
```
[ ] B1 — bash infrastructure/02-deploy.sh (IAP på opax.vauco.no)
[ ] B2 — bash infrastructure/06-cicd-setup.sh
OQ-04: GitHub OAuth må settes opp manuelt i GCP Console
https://console.cloud.google.com/cloud-build/triggers
[ ] B2 — Opprett GitHub PAT og legg i Secret Manager:
gcloud secrets create github-token --data-file=<(echo -n "ghp_TOKEN")
Finn GITHUB_APP_INSTALLATION_ID:
https://github.com/settings/installations → Cloud Build-appen → ID i URL
Fyll inn GITHUB_APP_INSTALLATION_ID i .env
[ ] B3 — bash infrastructure/06-cicd-setup.sh
OQ-04: LØST — Cloud Build 2nd gen, ingen manuell OAuth i Console
Bruker: gcloud builds connections create github (programmatisk)
```
---
@ -108,9 +113,15 @@ bash infrastructure/03-teardown.sh
**Mål: Ny kunde onboardet på 30 minutter | Tid: Ukentlig arbeid**
```
[ ] C1 — Pakk `vauco-bootstrap` som onboardingprodukt
[ ] C1 — Pakk `vauco-bootstrap` som Terraform-modul for kunde-onboarding
Ressurser per kunde: Cloud Run, Artifact Registry, Cloud Build 2nd gen,
IAP, budsjett-alert, Service Account
Terraform-variabler: customer_id, customer_project_id, customer_region
State-backend: GCS bucket (TF_STATE_BUCKET i .env)
[ ] C2 — Pakk `vauco-os` som kundeflate
[ ] C3 — Første kunde: Medioteq (europe-north1, separat GCP-prosjekt)
[ ] C3 — Første kunde: Medioteq
Region: europe-north1, separat GCP-prosjekt
Kjør: terraform apply -var="customer_id=medioteq"
```
---
@ -125,18 +136,20 @@ bash infrastructure/03-teardown.sh
| `03-teardown.sh` | Riv ned Cloud Run | Klar |
| `04-observability-setup.sh` | Monitoring + alerting | Klar |
| `05-cloudrun-deploy.sh` | ADK-agent til Cloud Run | Klar |
| `06-cicd-setup.sh` | GitHub → Cloud Build | Klar |
| `06-cicd-setup.sh` | GitHub → Cloud Build **2nd gen** | **Oppdatert** |
| `07-rag-setup.sh` | RAG Engine corpus + fallback | Oppdatert |
| `08-memorybank-setup.sh` | Memory Bank + auto-install | Oppdatert |
| `09-cost-check.sh` | Kostnadsoversikt + Artifact Registry | Klar |
---
## BEKREFTET GA-API
| API | Status | Bekreftet fra |
|-----|--------|---------------|
| API | Status |
|-----|--------|
| `google.adk.Agent` (ikke LlmAgent) | Bekreftet GA-API |
| `load_memory_tool` | Bekreftet fra adk-python samples |
| Cloud Build 2nd gen (`cloudbuildv2`) | Bekreftet GA — programmatisk GitHub-kobling |
| CMEK ikke for RAG Engine | Ikke støttet (OQ-03) |
| CI/CD `--no-traffic` | Manuell trafikkbytte — HITL |
| Idempotente scripts | Trygt å kjøre flere ganger |
@ -159,12 +172,12 @@ Ikke bygg kost-analyse-system nå — spør agenten når GCP er oppe.
## KJENTE HULL
| ID | Hva | Workaround |
| ID | Hva | Workaround / Status |
|---|---|---|
| OQ-01 | Memory Bank — ingen gcloud CLI | Python SDK only |
| OQ-02 | RAG Engine regional availability | Auto-fallback til us-east1 |
| OQ-03 | CMEK ikke for RAG Engine | VPC-SC only |
| OQ-04 | Cloud Build GitHub OAuth | Manuelt i Console |
| OQ-04 | Cloud Build GitHub OAuth | **LØST** — 2nd gen programmatisk connection |
| OQ-05 | gcloud alpha monitoring ustabil | Fallback til true |
| OQ-06 | Memory Bank auto-discovery | Eksplisitt env var |
| OQ-07 | Monitoring email flag-format | Teste i dev |
@ -172,5 +185,27 @@ Ikke bygg kost-analyse-system nå — spør agenten når GCP er oppe.
---
## TERRAFORM-VEIKART (Fase C)
Terraform introduseres **ikke** for nåværende infra — gcloud-scripts er tilstrekkelig
når vi opererer med ett GCP-prosjekt. Terraform blir relevant ved kunde-onboarding:
| Når | Hva |
|---|---|
| Fase C: Medioteq | `vauco-bootstrap` → Terraform-modul |
| Per kunde | `terraform apply -var="customer_id=X"` oppretter isolert GCP-miljø |
| Ressurser per modul | Cloud Run, Cloud Build 2nd gen connection, IAP, budsjett, SA |
| State-backend | GCS bucket (`TF_STATE_BUCKET`) — én bucket, én state-fil per kunde |
| Fase D | Terraform Cloud for sentralisert state og CI/CD på tvers av kunder |
Terraform-ressurser som er aktuelle:
- `google_cloudbuildv2_connection` — programmatisk GitHub-kobling per kunde
- `google_cloudbuildv2_repository` — repo-link
- `google_cloudbuild_trigger` — push-til-main trigger
- `google_billing_budget` — budsjett-alert per kunde
- `google_cloud_run_v2_service` — Cloud Run-tjeneste
---
*OSVauco-NMTMD-GCOS | propane-will-491900-m5 | us-central1*
*GitHub: chrischristiansen-glitch/OSVauco*