Thème
Déploiement GCP (GKE)
Objectif
Déployer Finoptika sur Google GKE avec Cloud SQL et Memorystore Redis. Public : SRE / platform côté client GCP. C'est le chemin de déploiement de référence de la plateforme.
Composants provisionnés (Terraform)
| Ressource | Rôle |
|---|---|
| VPC | Réseau isolé |
| GKE | Cluster Kubernetes |
| Cloud SQL PostgreSQL | Données multi-tenant (RLS) |
| Memorystore Redis | Broker Celery + cache |
| Artifact Registry | Registre d'images |
Manifeste : deploy/terraform/gcp/ + overlays overlays/prod-gcp (namespace finoptica-prod).
Étapes
bash
# 1. Auth
gcloud auth login
gcloud auth application-default login
gcloud config set project YOUR_PROJECT_ID
# 2. Infra (~15 min pour GKE)
cd deploy/terraform/gcp
terraform init
terraform apply -auto-approve \
-var="gcp_project_id=YOUR_PROJECT_ID" \
-var="gcp_region=europe-west1" \
-var="domain_name=finoptika.fr" \
-var="github_org=YOUR_GITHUB_ORG" \
-var="github_repo=finoptica-next" \
-var="ha_enabled=true"
# 3. Secrets GitHub Actions (depuis les outputs Terraform)
terraform output github_actions_setupSecrets requis : WIF_PROVIDER, WIF_SERVICE_ACCOUNT, GCP_PROJECT_ID.
Déploiement applicatif (GitOps)
Le déploiement se fait via GitHub Actions + kustomize : poussez un tag vX.Y.Z pour déclencher le pipeline (overlays prod-gcp, ns finoptica-prod). Cloud Build + kubectl reste un fallback manuel.
Points d'attention GCP connus
- Redis Memorystore
rediss://: Celery nécessitebroker_use_sslavecssl_cert_reqs=CERT_NONE. - Workload Identity : vérifier le bon namespace WI (
finoptica-prod). - Insertion
fact_cost: l'insert en masse doit être chunké (cap asyncpg 32767 paramètres).
Connecteur GCP (côté application)
Configurez un connecteur cloud : compte de service avec BigQuery Data Viewer, export de facturation vers BigQuery (project_id, billing_account_id, dataset_id). ⚠️ Délai d'export 24–48 h sans backfill.
Provisionnement du tenant en production
Le seed démo étant gaté hors dev, provisionnez un tenant propre via app/ops/provision_tenant.py. Login sans OIDC = email/mot de passe.
Voir aussi
- Déploiement production · Connecteurs cloud · Runbooks
- Référence dépôt :
docs/deploy/GCP_PRODUCTION_GUIDE.md,docs/deploy/GCP_DEPLOY_RUNBOOK.md,DEPLOY.md