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 ────────────────────────────────────────────
|
||||
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=""
|
||||
|
|
|
|||
|
|
@ -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*
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user