Skip to content

Liens utiles — consoles & dashboards

Bookmarks pour l'admin courant. Tous les liens sont scopés sur les projets actuels (GCP trade-496613 + Supabase portfolioai-prod + GitHub jv3n/trade). Garde cette page ouverte dans un onglet pendant les sessions ops.

Google Cloud Platform — projet trade-496613

Vue d'ensemble

Cloud Run (compute)

Artifact Registry (Docker images)

Secret Manager (4 secrets runtime)

IAM & Service Accounts

  • Service accounts
  • github-deploy@trade-496613.iam.gserviceaccount.com (deploy SA — run.admin + artifactregistry.writer)
  • portfolioai-runtime@trade-496613.iam.gserviceaccount.com (runtime SA — secretmanager.secretAccessor per-secret)
  • IAM policy projet — bindings au project level
  • Workload Identity Pools — pool github + provider github (federation GitHub OIDC ↔ GCP)

OAuth 2.0 (Google Sign-In Phase 4)

  • APIs & Services → Credentials — OAuth 2.0 Client IDs
  • Consent Screen — branding + scopes + test users
  • ⚠️ Au 1er deploy prod : ajouter la redirect URI https://<cloud-run-url>/login/oauth2/code/google puis (plus tard) https://<custom-domain>/login/oauth2/code/google

Billing

APIs

  • APIs activées — vue d'ensemble des 6 APIs câblées (run, artifactregistry, secretmanager, iam, iamcredentials, sts)
  • Quotas — surveille avant de hit un free tier limit

Supabase — projet portfolioai-prod (flbnnnakobutaxvshcez)

  • Dashboard du projet
  • Table Editor — UI tabulaire pour lire/modifier les rows
  • SQL Editor — pour les requêtes ad-hoc (debug, admin)
  • Database settings — connection strings (Direct / Session pooler / Transaction pooler) + reset password
  • Logs — Postgres slow query, errors
  • API settings — anon key, service_role key (non utilisé v1, on est en JDBC direct)
  • Authentificationdésactivé v1, on a notre propre auth Spring Security + Google OIDC
  • Backups — snapshots Supabase quotidiens 7j (free tier). Notre backup nocturne pg_dump → R2 est indépendant, voir ticket Phase 5.

Région : ca-central-1 (Toronto) Connection mode utilisée : Session pooler aws-1-ca-central-1.pooler.supabase.com:5432 (IPv4-compatible Cloud Run + supporte Flyway advisory locks)

GitHub — repo jv3n/trade

Providers externes (clés API runtime-editable via UI)

  • Anthropic Console — usage Claude API, billing, rotation clé
  • Twelve Data dashboard — clé + usage credits (free tier 800/jour)
  • Finnhub dashboard — clé + rate limit
  • Toutes ces clés vivent en BDD (app_config) en runtime, settable via /settings/configuration UI quand l'app sera deployée

Cloudflare

Compte créé pour le bucket R2 backups Phase 5a. Le DNS / cache devant Cloud Run reste à câbler (ticket Phase 5 🟡 « Cloudflare devant Cloud Run »).

R2 — bucket portfolioai-backups

  • Cloudflare dashboard — home, après login
  • R2 buckets overview : https://dash.cloudflare.com/8f2780696b5e520f85b5fc80413c4c3f/r2/default/bucketsremplacer 8f2780696b5e520f85b5fc80413c4c3f par le tien (visible dans l'URL une fois loggué, ou dans R2_ACCOUNT_ID GitHub Secret)
  • Bucket portfolioai-backups : https://dash.cloudflare.com/8f2780696b5e520f85b5fc80413c4c3f/r2/default/buckets/portfolioai-backups — liste les backup-*.sql.gz triés par date, download/delete via UI
  • API Tokens R2 — rotation token si compromis, audit des tokens actifs

CLI alternative (aws s3 pointé sur R2)

# Lister les backups en CLI
aws s3 ls s3://portfolioai-backups/ \
  --endpoint-url "https://8f2780696b5e520f85b5fc80413c4c3f.r2.cloudflarestorage.com" \
  --profile portfolioai-r2
Configurer une fois : aws configure --profile portfolioai-r2 avec les mêmes 3 creds que les GitHub Secrets.

DNS / proxy (à venir)

  • À câbler quand on attaque le ticket « Cloudflare devant Cloud Run » : DNS pour custom domain + cache devant Cloud Run pour bypass egress quota 1 GB/mo

Documentation officielle (références ops fréquentes)

Référence projet