Guide to Deploy Collate Binaries in GCP
This guide will help you start using Collate Docker Images to run the Collate OpenMetadata Application in Kubernetes on Google Kubernetes Engine, connecting with Argo Workflows for running ingestion from the Collate OpenMetadata Application itself.Architecture

- Collate Server.
- Database: Collate Server stores the metadata in a relational database. Collate supports Postgres. GCP Cloud SQL is recommended for production.
- Postgres version 17.6 or greater.
- Search Engine: OpenSearch 3.4. ElasticSearch is not supported in Collate BYOC because Collate AI relies on OpenSearch’s vector capabilities for Semantic and Hybrid Search.
- Workflow Orchestration: Collate uses Argo Workflows as the orchestrator for ingestion pipelines.
Note: GKE Autopilot mode restricts elevated permissions required by some workloads. Use GKE Standard mode for Collate deployments.
Sizing Requirements
The following sections cover hardware, software, and per-component sizing recommendations for a production-ready deployment.Hardware Requirements
A GKE Standard cluster with a managed control plane and at least five worker nodes is the required configuration. Each worker node should have at least:- 4 vCPUs.
- 16 GiB Memory.
- 128 GiB Storage capacity.
Software Requirements
- Collate OpenMetadata supports Kubernetes cluster version 1.29 or greater.
- Collate Docker Images are available via private AWS Elastic Container Registry (ECR). The Collate Team will share credentials and steps to configure Kubernetes to pull Docker Images from AWS ECR.
- For Argo Workflows, Collate OpenMetadata is currently compatible with application version 3.4+.
Recommended GKE Instance Types
Database Sizing and Capacity
Collate recommends configuring Cloud SQL Postgres. For 100,000 Data Assets and 1,000 Users:- 8 vCPUs.
- 64 GiB Memory.
- 256 GiB Storage Capacity.
- High availability (multi-zone) recommended.
Search Client Sizing and Capacity
For 100,000 Data Assets and 1,000 Users:- 8 vCPUs.
- 64 GiB Memory.
- 256 GiB Storage Capacity.
Note: The Collate team does not maintain OpenSearch when run inside Kubernetes.
Argo Workflows Ingestion Runners
The recommended resources are 4 vCPUs and 16 GiB of Memory. Ingestion workloads can be scheduled on preemptible/spot instances to reduce costs.Prerequisites
The following steps configure the GCP project, GKE cluster, and service accounts Collate needs before installation.Enable the Required GCP Project APIs
Enable the following APIs in your GCP project:- Backup for GKE API (gkebackup.googleapis.com).
- Certificate Manager API (certificatemanager.googleapis.com).
- Cloud Autoscaling API (autoscaling.googleapis.com).
- Cloud DNS API (dns.googleapis.com).
- Cloud Key Management Service (KMS) API (cloudkms.googleapis.com).
- Cloud Logging API (logging.googleapis.com).
- Cloud Monitoring API (monitoring.googleapis.com).
- Cloud Resource Manager API (cloudresourcemanager.googleapis.com).
- Cloud SQL (sql-component.googleapis.com).
- Cloud SQL Admin API (sqladmin.googleapis.com).
- Cloud Storage API (storage-component.googleapis.com).
- Compute Engine API (compute.googleapis.com).
- Container File System API (containerfilesystem.googleapis.com).
- Container Registry API (containerregistry.googleapis.com).
- Gemini API (generativelanguage.googleapis.com).
- Google Cloud Storage JSON API (storage-api.googleapis.com).
- IAM Service Account Credentials API (iamcredentials.googleapis.com).
- Identity and Access Management (IAM) API (iam.googleapis.com).
- Kubernetes Engine API (container.googleapis.com).
- Network Connectivity API (networkconnectivity.googleapis.com).
- Network Security API (networksecurity.googleapis.com).
- Network Services API (networkservices.googleapis.com).
- Secret Manager API (secretmanager.googleapis.com).
- Service Management API (servicemanagement.googleapis.com).
- Service Networking API (servicenetworking.googleapis.com).
- Service Usage API (serviceusage.googleapis.com).
Enable GKE Workload Identity
Workload Identity allows Kubernetes service accounts to act as GCP service accounts, eliminating the need for static credentials. Check if Workload Identity is enabled on your cluster:Create a GCS Bucket for Argo Workflows Artifacts
Argo Workflows archives ingestion logs to Google Cloud Storage:Create GCP Service Accounts
Collate requires three GCP service accounts for the Collate Server, Collate Ingestion, and Argo Workflows:Grant GCS Access to GCP Service Accounts
Grant each GCP service account the storage permissions it needs on the Argo Workflows artifacts bucket:Bind GCP Service Accounts to Kubernetes Service Accounts with Workload Identity
Bind the GCP service accounts to Kubernetes service accounts using Workload Identity. This allows applications running in Kubernetes to authenticate with GCP services using the associated GCP service account without needing static credentials.Note: The following command assumes the Kubernetes service accounts are created in the
argo-workflows and collate namespaces with the names argo-workflows-controller-sa, argo-workflows-server-sa, and om-role respectively. Adjust the service account names and namespaces based on your configuration.Grant GCP Service Accounts Access to Cloud SQL
The configuration in this guide is based on Cloud SQL for Postgres as the database for Collate with IAM Authentication enabled. For more information about how to set up IAM Authentication, see IAM Authentication. Collate recommends using a single Cloud SQL instance for both Collate Server and Argo Workflows. The instance should have IAM Authentication enabled, with separate databases created for Collate Server and Argo Workflows.Note: If you are using separate Cloud SQL instances for Collate Server and Argo Workflows, ensure you grant access to both instances for the respective service accounts.
Note: IAM database users created for Cloud SQL Postgres are regular Postgres roles. They are not database owners and do not get
CREATE privileges on existing databases by default. After creating the IAM users, connect as an admin user and grant CREATE on the respective databases, for example:Note: Replace
<CLOUD_SQL_INSTANCE_NAME> with the name of your Cloud SQL instance.Note: These SQL users will be used by the Collate Server and Argo Workflows to authenticate with the Cloud SQL instance using IAM Authentication.
In Kubernetes, the configuration uses Cloud SQL Proxy to connect to the Cloud SQL instance securely without exposing the instance publicly.
Set Up AWS ECR
Collate will provide the credentials to pull Docker Images from a private registry located in AWS ECR.Install AWS CLI
Follow the AWS CLI installation guide to install AWS CLI on your machine.Configure AWS Credentials
Configure the AWS CLI with the credentials for the ECR profile:Kubernetes Docker Registry Secrets for AWS ECR
Create a Kubernetes secret so the cluster can pull images from the private ECR registry:Note: Replace
<<NAMESPACE_NAME>> with the namespace where you want to deploy Collate OpenMetadata Server. If the namespace does not exist yet, create it with kubectl create namespace <<NAMESPACE_NAME>>.Install Argo Workflows
Install Argo Workflows using its Helm chart, then configure it to work with Collate ingestion.Add Helm Repository
Add the community Argo Workflows Helm repository:Create the Argo Namespace
Create a dedicated namespace for Argo Workflows:Kubernetes Secret for Argo Workflows DB Credentials
Create a Kubernetes secret with the database credentials Argo Workflows will use:Create Custom Helm Values for Argo Workflows
Create a file namedargo-workflows.values.yml:
Deploy Argo Workflows
Collate targets application version 3.7.1 using Helm chart version 0.45.23 (Artifact Hub):Optional: Enable Prometheus Metrics
If you have a Prometheus Application running on your cluster, enable metrics using:Install Collate
With Argo Workflows in place, install the Collate OpenMetadata application into the cluster.Create the Collate Namespace
Create a namespace to host the Collate deployment:Kubernetes Service Account for Ingestion
Create a dedicated Kubernetes service account that Collate uses to trigger ingestion workflows:Annotate Service Account with Workload Identity
Annotate the service account so it can authenticate as the associated GCP service account:Create Long-Lived API Token for the Service Account
Create a long-lived token secret for the service account:Configure Kubernetes Roles for the Service Account
Create a fileom-argo-role.yml:
Install the Collate Helm Chart
Create Kubernetes Secrets for the database connection:Note: If you plan to use the DeltaLake connector, the
ARGO_INGESTION_IMAGE value should be:
118146679784.dkr.ecr.eu-west-1.amazonaws.com/collate-customers-ingestion-eu-west-1:om-1.13.0-cl-1.13.0openmetadata.values.yml:
Optional: Enable Prometheus Metrics
Collate Application exposes Prometheus metrics on port8586. Enable the integration using: