Skip to main content

Run on GCP


  • GKE cluster with at least 2GB/2CPU allocatable
  • gcloud CLI installed and configured to your project, region/zone, and user (soft prerequisite, as most CLI functionality can also be executed on the Google Cloud console if preferred)


The purpose of this doc is to provide a set of instructions to deploy Speakeasy in your own infrastructure. This doc currently assumes Speakeasy is being deployed on GKE. Support for other cloud providers coming soon!

Deploying on GCP

Create Speakeasy service account

If using CloudSQL or BigQuery, The Speakeasy API Platform uses a service account to interact with these resources in your Google Cloud project.

To create the service account, issue the following gcloud CLI command:

gcloud iam service-accounts create "speakeasy-service-account" \
--display-name="Service Account for Speakeasy"

Attach roles to Speakeasy service account

To use CloudSQL, attach the Cloud SQL Client role via the following command:

gcloud projects add-iam-policy-binding <YOUR_PROJECT_ID> \
--member="serviceAccount:speakeasy-service-account@<YOUR_PROJECT_ID>" \

To use BigQuery, attach the BigQuery Admin role via the following command:

gcloud projects add-iam-policy-binding <YOUR_PROJECT_ID> \
--member="serviceAccount:speakeasy-service-account@<YOUR_PROJECT_ID>" \

Create a K8s Secret from the Service Account Key

You'll need to ensure the Speakeasy API Platform can use your newly created service account via a k8s secret.

Create and download the service account key file:

gcloud iam service-accounts keys create key.json --iam-account=speakeasy-service-account@<YOUR_PROJECT_ID>

Deploy a k8s secret containing this key file in your desired namespace:

kubectl create secret generic registry-service-account-secret --from-file=service_account.json=key.json

Deploy Speakeasy API Platform

Follow instructions on using speakeasy-k8s to configure the chart values and deploy Speakeasy.