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