Go to file
2026-09-05 21:53:31 +00:00
.gemini ci: lock Gitea-only pipeline and updated handoff 2026-07-05 22:09:37 +00:00
.github ci: add workflow to check for Python version consistency 2026-06-23 14:21:36 +00:00
.vscode feat: osv-startup.ps1 + .vscode/settings.json — auto-unblock, purple/green only palette, clean prompt [Phase 4] 2026-05-22 03:09:36 +02:00
agents fix(hub): use X-MCP-Secret header for opax-mcp auth 2026-09-05 20:57:03 +00:00
architecture feat: push all remaining files — agents/, docs/, architecture/, cloudbuild.yaml, README 2026-05-23 02:37:39 +02:00
auth feat(auth): add OAuth2 client flow + token store for GCP client onboarding 2026-05-27 20:01:21 +02:00
ci ci: test webhook deploy 2026-09-01 20:37:56 +00:00
data docs: marker C2 komplett, legg til C4.2 auth-gate 2026-05-27 15:38:25 +00:00
dialogflow feat(b6): export Dialogflow CX agents to version control 2026-05-26 04:29:05 +00:00
docs fix(mcp): enforce app-level auth, fix trigger_build SDK, and scaffold docs 2026-09-02 12:05:09 +00:00
emma fix: push_file auto-fetch sha for existing files 2026-06-29 13:59:20 +00:00
infrastructure fix: oppdater Gitea IP fra 34.158.137.245 til 136.111.198.14 2026-07-05 11:57:05 +00:00
master_hub feat(ts3): Master Hub v3.2 theme-switcher + docs(bq): Looker Studio setup 2026-05-26 11:54:54 +00:00
ml feat: onboard.html + fix len(agents) i /run/dag + HANDOFF oppdatert 2026-06-15 07:07:24 +02:00
opax-mcp fix(mcp): add auth token for hub calls 2026-09-05 21:53:31 +00:00
protocols chore: update repo references after transfer to vauco-saas 2026-05-27 19:13:54 +00:00
scripts fix: emma.sh -> emma_run.py 2026-06-28 21:37:43 +00:00
static fix: AGENT_URL set to / 2026-06-24 16:44:42 +00:00
test test: verify end-to-end write path 2026-07-01 22:32:13 +00:00
.dockerignore build: improve .dockerignore 2026-09-05 20:00:19 +00:00
.env.example docs: update environment example 2026-09-05 18:55:33 +00:00
.env.prefilled chore: update repo references after transfer to vauco-saas 2026-05-27 19:13:54 +00:00
.gdrive-mirror-state chore(state): oppdater .gdrive-mirror-state SHA=598e47a 2026-05-26 03:02:09 +00:00
.geminiignore chore(docs): konsolider MASTERPLAN/ROADMAP/HANDOFF til én sannhet (#5) 2026-05-31 17:57:13 +02:00
.gitignore chore(opax-mcp): document public MCP deployment 2026-09-05 18:42:52 +00:00
.python-version fix(deploy): bruk Python 3.13, pin litellm>=1.67 for 3.13-støtte 2026-05-26 00:44:35 +02:00
AGENTS.md chore(session): handoff + roadmap + agents disclaimer — sesjon 2026-06-10 kveld 2026-06-10 22:35:10 +02:00
CLAUDE.md fix: strengthen boot prompt to force file reading in both GEMINI.md and CLAUDE.md 2026-05-31 19:57:36 +02:00
cloudbuild.base.yaml docs: clarify cloudbuild.base.yaml is reference template only 2026-05-26 04:31:44 +00:00
cloudbuild.mcp.yaml test: trigger cloud build after offline mode fix 2026-07-06 18:41:20 +00:00
cloudbuild.opax-mcp.yaml chore(opax-mcp): document public MCP deployment 2026-09-05 18:42:52 +00:00
cloudbuild.yaml ci: test webhook deploy 2026-09-01 20:37:56 +00:00
CNAME feat(cg3): migrate costguard to github pages (docs/) 2026-05-27 18:53:07 +00:00
deploy_hub.sh fix(hub): use mcp-server-key secret for opax-mcp auth 2026-09-05 16:55:19 +00:00
deploy_mcp.sh fix(mcp): default ticket_id when caller passes null; set OSVAUCO_AGENT_URL 2026-09-05 21:25:48 +00:00
deploy-mcp.sh ci: test webhook deploy 2026-09-01 20:37:56 +00:00
dev-start.sh fix: oppdater Gitea IP fra 34.158.137.245 til 136.111.198.14 2026-07-05 11:57:05 +00:00
dev-startup.sh Skip auth steps if already authenticated 2026-05-29 23:40:07 +02:00
Dockerfile chore(opax-mcp): document public MCP deployment 2026-09-05 18:42:52 +00:00
gitea-backup-candidate.sh ci: test webhook deploy 2026-09-01 20:37:56 +00:00
main.py fix(hub): various fixes for hub connector 2026-09-05 16:55:19 +00:00
opax-mcp.yaml fix(mcp): default ticket_id when caller passes null; set OSVAUCO_AGENT_URL 2026-09-05 21:25:48 +00:00
opax.sh auto: sync 2026-05-30 19:44:04 +00:00
README.md docs(readme): document opax-mcp auth 2026-09-05 18:50:42 +00:00
requirements.txt plan: agentic gateway v2 + deps sendgrid→gmail 2026-07-02 16:57:02 +00:00
test_pusher.py feat: Gmail API via service account delegation + Bearer token auth 2026-07-02 02:17:47 +00:00
test.txt feat: Add test file via opax-mcp 2026-06-29 14:36:01 +00:00

OSVauco — GCP Agent Master Repo

Prosjekt: propane-will-491900-m5 | Region: us-central1

Status

Komponent Status
Cloud Run Agent Live
Service URL https://osvauco-agent-357036551735.us-central1.run.app
CI/CD Trigger Auto-deploy ved push til main
ADK Versjon 1.x (google-adk>=1.0.0,<2.0.0)
Siste revisjon osvauco-agent-00006-mvb

Hurtigtest

TOKEN=$(gcloud auth print-identity-token)
curl -s -X POST -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"user_id":"chris","session_id":"test-1","message":"Hei, hvem er du?"}' \
  https://osvauco-agent-357036551735.us-central1.run.app/run | jq

Repo-struktur

├── agents/
│   └── core-logic/        # Live agent: app.py (FastAPI + ADK Runner)
├── infrastructure/
│   ├── 01-setupenv.sh     # ✅ Ferdig
│   ├── 05-cloudrun-deploy.sh  # ✅ Ferdig
│   ├── 06-cicd-setup.sh   # ✅ Ferdig
│   ├── 07-rag-setup.sh    # ⏳ Neste
│   └── 08-memorybank-setup.sh # ⏳ Planlagt
├── docs/
├── scripts/
├── cloudbuild.yaml        # CI/CD pipeline
└── .env.example

Service Account roller (osvauco-agent-sa)

Rolle Formål
roles/aiplatform.user Vertex AI / Gemini
roles/secretmanager.secretAccessor Secrets
roles/logging.logWriter Logging
roles/cloudtrace.agent Tracing
roles/monitoring.metricWriter Monitoring
roles/run.invoker Cloud Run kall
roles/iam.serviceAccountUser Deploy
roles/artifactregistry.writer Docker push
roles/run.developer Cloud Run deploy

Cloud Scheduler for Daglig Fakturering

For å automatisk generere daglige kostnads-snapshots, må en Cloud Scheduler-jobb konfigureres til å kalle /billing/snapshot-endepunktet.

Oppsett med gcloud:

  1. Service URL: https://osvauco-agent-357036551735.us-central1.run.app
  2. Service Account: osvauco-agent-sa@propane-will-491900-m5.iam.gserviceaccount.com
gcloud scheduler jobs create http daily-billing-snapshot \
  --schedule="0 5 * * *" \
  --uri="https://osvauco-agent-357036551735.us-central1.run.app/billing/snapshot" \
  --http-method=POST \
  --oidc-service-account-email="osvauco-agent-sa@propane-will-491900-m5.iam.gserviceaccount.com" \
  --oidc-token-audience="https://osvauco-agent-357036551735.us-central1.run.app" \
  --location="us-central1" \
  --time-zone="Etc/UTC" \
  --description="Kaller /billing/snapshot for å lagre daglig kostnadsdata."

Denne kommandoen oppretter en jobb som kjører hver dag kl. 05:00 UTC.

OPAX MCP connector authentication

The public Cloud Run service permits network invocation so that third-party MCP clients can reach the application. Authentication is enforced by the application.

The server accepts a credential supplied in one of these request headers:

  • api-key
  • X-MCP-Secret
  • Authorization: Bearer <token>

For every supported header form, the extracted credential must exactly match the MCPSECRET value injected from Google Secret Manager (mcp-server-key). The service rejects missing or non-matching credentials with HTTP 401.

Do not commit, log, or document the secret value itself.