docs: oppdater .env.example (2nd gen vars) og MASTERPLAN (OQ-04 løst, Terraform-veikart)
This commit is contained in:
parent
c4398513cb
commit
4502ae09fd
39
.env.example
39
.env.example
|
|
@ -11,7 +11,8 @@ export ALERT_EMAIL="your-email@example.com"
|
||||||
# ── Service Account ────────────────────────────────────────────
|
# ── Service Account ────────────────────────────────────────────
|
||||||
export AGENT_SA="osvauco-agent-sa@${PROJECT_ID}.iam.gserviceaccount.com"
|
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"
|
export ARTIFACT_REPO="agent-images"
|
||||||
|
|
||||||
# ── Vertex AI RAG Engine ────────────────────────────────────
|
# ── 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:
|
# Populated by 08-memorybank-setup.sh — copy from script output:
|
||||||
export MEMORY_ENGINE_NAME="" # projects/PROJECT_NUM/locations/REGION/reasoningEngines/ID
|
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"
|
export SUBAGENT_MODEL="gemini-2.0-flash-001"
|
||||||
|
|
||||||
# ── CI/CD ───────────────────────────────────────────────────
|
# ── CI/CD — Cloud Build 2nd gen ──────────────────────────────
|
||||||
export GITHUB_OWNER="chrischristiansen-glitch"
|
export GITHUB_OWNER="chrischristiansen-glitch"
|
||||||
export GITHUB_REPO="OSVauco"
|
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 VPC_NETWORK="default"
|
||||||
# export CMEK_KEY_RING="agent-keyring" # only if using CMEK
|
# export CMEK_KEY_RING="agent-keyring" # kun ved CMEK
|
||||||
# export CMEK_KEY_NAME="agent-key" # only if using CMEK
|
# export CMEK_KEY_NAME="agent-key" # kun ved CMEK
|
||||||
|
|
||||||
# ── IAP / Domain (Phase B) ────────────────────────────────# export IAP_DOMAIN="opax.vauco.no"
|
# ── IAP / Domene (Fase B) ─────────────────────────────────────
|
||||||
# export IAP_CLIENT_ID="" # from GCP Console → IAP
|
# export IAP_DOMAIN="opax.vauco.no"
|
||||||
# export IAP_CLIENT_SECRET="" # from GCP Console → IAP
|
# 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=""
|
# export LITELLM_API_KEY=""
|
||||||
|
|
|
||||||
|
|
@ -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 |
|
| `OSVauco` | Regler, GCP-scripts, agenter, docs — KJERNEN |
|
||||||
| `vauco-gemini-tui-bridge` | Din TUI-cockpit |
|
| `vauco-gemini-tui-bridge` | Din TUI-cockpit |
|
||||||
| `vauco-os` | Det kundene bruker |
|
| `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 |
|
| `deep-dream` | Strategisk visjon — aldri deploy herfra |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
@ -34,7 +34,7 @@ cd ~/OSVauco
|
||||||
# Steg 2: Kopier og rediger .env
|
# Steg 2: Kopier og rediger .env
|
||||||
cp .env.example .env
|
cp .env.example .env
|
||||||
nano .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
|
# Alle andre verdier er ferdig-forhåndsutfylt
|
||||||
|
|
||||||
# Steg 3: Installer Python-avhengigheter
|
# 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)
|
[ ] B1 — bash infrastructure/02-deploy.sh (IAP på opax.vauco.no)
|
||||||
[ ] B2 — bash infrastructure/06-cicd-setup.sh
|
[ ] B2 — Opprett GitHub PAT og legg i Secret Manager:
|
||||||
OQ-04: GitHub OAuth må settes opp manuelt i GCP Console
|
gcloud secrets create github-token --data-file=<(echo -n "ghp_TOKEN")
|
||||||
https://console.cloud.google.com/cloud-build/triggers
|
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**
|
**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
|
[ ] 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 |
|
| `03-teardown.sh` | Riv ned Cloud Run | Klar |
|
||||||
| `04-observability-setup.sh` | Monitoring + alerting | Klar |
|
| `04-observability-setup.sh` | Monitoring + alerting | Klar |
|
||||||
| `05-cloudrun-deploy.sh` | ADK-agent til Cloud Run | 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 |
|
| `07-rag-setup.sh` | RAG Engine corpus + fallback | Oppdatert |
|
||||||
| `08-memorybank-setup.sh` | Memory Bank + auto-install | Oppdatert |
|
| `08-memorybank-setup.sh` | Memory Bank + auto-install | Oppdatert |
|
||||||
|
| `09-cost-check.sh` | Kostnadsoversikt + Artifact Registry | Klar |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## BEKREFTET GA-API
|
## BEKREFTET GA-API
|
||||||
|
|
||||||
| API | Status | Bekreftet fra |
|
| API | Status |
|
||||||
|-----|--------|---------------|
|
|-----|--------|
|
||||||
| `google.adk.Agent` (ikke LlmAgent) | Bekreftet GA-API |
|
| `google.adk.Agent` (ikke LlmAgent) | Bekreftet GA-API |
|
||||||
| `load_memory_tool` | Bekreftet fra adk-python samples |
|
| `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) |
|
| CMEK ikke for RAG Engine | Ikke støttet (OQ-03) |
|
||||||
| CI/CD `--no-traffic` | Manuell trafikkbytte — HITL |
|
| CI/CD `--no-traffic` | Manuell trafikkbytte — HITL |
|
||||||
| Idempotente scripts | Trygt å kjøre flere ganger |
|
| 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
|
## KJENTE HULL
|
||||||
|
|
||||||
| ID | Hva | Workaround |
|
| ID | Hva | Workaround / Status |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| OQ-01 | Memory Bank — ingen gcloud CLI | Python SDK only |
|
| OQ-01 | Memory Bank — ingen gcloud CLI | Python SDK only |
|
||||||
| OQ-02 | RAG Engine regional availability | Auto-fallback til us-east1 |
|
| OQ-02 | RAG Engine regional availability | Auto-fallback til us-east1 |
|
||||||
| OQ-03 | CMEK ikke for RAG Engine | VPC-SC only |
|
| 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-05 | gcloud alpha monitoring ustabil | Fallback til true |
|
||||||
| OQ-06 | Memory Bank auto-discovery | Eksplisitt env var |
|
| OQ-06 | Memory Bank auto-discovery | Eksplisitt env var |
|
||||||
| OQ-07 | Monitoring email flag-format | Teste i dev |
|
| 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*
|
*OSVauco-NMTMD-GCOS | propane-will-491900-m5 | us-central1*
|
||||||
*GitHub: chrischristiansen-glitch/OSVauco*
|
*GitHub: chrischristiansen-glitch/OSVauco*
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user