Google Cloud Platform Integration

Deploy and integrate the Synthesized platform with Google Cloud Platform.

Overview

The platform integrates with GCP services:

  • Cloud SQL: PostgreSQL, MySQL, SQL Server

  • Secret Manager: Credential management

  • Google Kubernetes Engine (GKE): Container deployment

  • Cloud Storage: Backup and data export

Cloud SQL Connection

data_sources:
  input:
    url: jdbc:postgresql://10.20.30.40:5432/mydb
    username: ${gcp:projects/my-project/secrets/db-user/versions/latest}
    password: ${gcp:projects/my-project/secrets/db-password/versions/latest}

GCP Secret Manager

Store credentials securely:

data_sources:
  input:
    url: jdbc:mysql://10.20.30.40:3306/mydb
    username: ${gcp:database-credentials#username}
    password: ${gcp:database-credentials#password}

Configuration:

export GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account-key.json
export GCP_PROJECT_ID=my-project

GKE Deployment

Deploy the platform on Google Kubernetes Engine:

# Create GKE cluster
gcloud container clusters create tdk-cluster \
  --zone us-central1-a \
  --num-nodes 3

# Get credentials
gcloud container clusters get-credentials tdk-cluster

# Deploy with Helm
helm install tdk synthesized/tdk \
  --namespace tdk \
  --create-namespace

Service Account Permissions

Required GCP permissions:

  • secretmanager.secrets.get

  • secretmanager.versions.access

  • cloudsql.instances.connect

Cloud SQL Proxy

Use Cloud SQL Proxy for secure connections:

cloud_sql_proxy -instances=PROJECT:REGION:INSTANCE=tcp:5432