Collaudo VPS · sola lettura. La produzione è ancora su GCP. Sincronizzazioni, monitoraggi e modifiche sono disattivati su questa copia.

Setup operativo

Questa pagina non è documentazione generica: è la checklist per trasformare la dashboard da “vista locale” a control tower affidabile per costi, health e alert.
Obiettivo: dati reali, attribuiti, azionabili

A cosa serve

Serve a capire quali integrazioni sono necessarie per rispondere velocemente a tre domande operative.

1. Sto spendendo troppo?
OpenAI, GCP/Firebase, subscription manuali e budget tenant devono essere collegati.
2. Quale progetto/tenant sta incidendo?
I mapping provider → tenant attribuiscono costi reali a mvp-lama, Federici, PTA_001 o futuri tenant.
3. Se qualcosa cade, lo so subito?
Endpoint monitorati, regole alert e SMTP/webhook devono essere attivi.

Checklist minima produzione

  1. Provider costi: OPENAI_ADMIN_KEY e GCP_BILLING_EXPORT_TABLE.
  2. Attribuzione: mapping OpenAI project_id o api_key_id; mapping GCP project_id.
  3. Tenant: budget mensile, valuta e status coerenti.
  4. Health: endpoint reali in Monitoring, con status atteso 200-399.
  5. Alert: regole per service_down e soglie costo, con SMTP Brevo o webhook.
  6. Persistenza: Cloud Run usa Firestore tramite DATASTORE_BACKEND=firestore.

Scenario: nuovo progetto GCP

Hai un nuovo progetto che condivide lo stesso billing account.

  1. Crea o seleziona un tenant.
  2. Vai in Mapping provider.
  3. Aggiungi provider gcp, tipo chiave project_id, chiave reale uguale al project id GCP.
  4. Lancia Sync costi: la dashboard attribuisce GCP/Firebase al tenant.

Scenario: nuova OpenAI key

Hai ruotato una key o creato un nuovo progetto OpenAI.

  1. Se usi mapping per project_id, non cambia nulla.
  2. Se usi mapping per api_key_id, aggiungi il nuovo id restituito dalla Costs API.
  3. Lancia Sync costi e verifica il tenant nel carousel budget.

Scenario: alert non arriva

La regola scatta ma non ricevi email.

  1. Vai in Alert e usa Test service_down.
  2. Controlla lo stato dell'ultimo evento: sent, Authentication failed o Unauthorized IP.
  3. Se usi Brevo, autorizza l'IP o disattiva IP blocking SMTP.

Variabili e dove vivono

Secret Manager
Valori sensibili: ADMIN_TOKEN, OPENAI_ADMIN_KEY, SMTP_PASSWORD.
Cloud Run env vars
Valori non segreti: tabella BigQuery, host SMTP, username SMTP, Firestore project, intervalli scheduler.

File utili nel repository: LOCAL_PROXY_ACCESS.md, README.md, .env.example, CLOUD_RUN_FIRESTORE_DEPLOY.md, GCP_SERVICE_ACCOUNT_GUIDE.md.