Skip to main content
Before installing Metoro, you need to make several important architectural decisions. This checklist will guide you through the key choices and help you prepare for a successful deployment. It is worth taking some time to consider these options as changing the after installation can be complex and time-consuming as data migration may be required. If you aren’t sure about some of the options, get in touch with support, we’ll help you make the right choices based on your specific requirements.

1. Deployment Topology

Where will you run the Metoro Hub?

Best for
  • Proof of concepts
  • Development environments
  • Small production deployments
  • Cost-conscious deployments
Pros
  • Simpler setup
  • Lower infrastructure costs
  • Easier network configuration
Cons
  • If there is a cluster failure, its possible you will not be able to reach Metoro to debug the issue
  • Metoro competes for resources with your applications
  • Potential security concerns (observability data in same cluster)
  • Harder to monitor multiple clusters, requires cross-cluster connectivity
Best for
  • Production environments
  • Multi-cluster monitoring
  • High-security environments
  • Large-scale deployments
Pros
  • Isolated from application workloads
  • Can monitor multiple clusters
  • Better security posture
  • Dedicated resources for observability
Cons
  • Additional infrastructure costs
  • More complex networking setup
  • Requires cross-cluster connectivity

Architecture ramifications

Depending on your choice, the architecture will look different. Below are the two main options:

Option A: Same Cluster Architecture

Option B: Dedicated Cluster Architecture

2. PostgreSQL Database

How will you manage the metadata database?

Best for
  • Quick deployments
  • Development environments
  • When external database is not available
Pros
  • No external dependencies
  • Simplified installation
  • Included as a dependency in helm chart
Cons
  • Manual backup management
  • Limited high availability options
  • Requires persistent storage configuration
  • Manual upgrade process, tuning and maintenance
ConfigurationIf you want to use the in-cluster PostgreSQL, you can enable it in your values.yaml file like this:
Required resources:
  • 2 CPU cores
  • 4GB RAM
  • 20GB+ persistent storage
Best for:
  • Production environments
  • High availability requirements
  • Existing database infrastructure
Pros:
  • Built in backup/restore
  • Built-in high availability
  • Better performance tuning
  • Reduced operational overhead
Cons:
  • Additional service costs
  • Potentially not available
Configuration:First, create the Kubernetes secret:
Then configure in values.yaml:
Required databases:
  • metoro - Main application database
  • temporal - Workflow engine database
  • temporal_visibility - Workflow visibility database

3. ClickHouse Database

How will you manage the telemetry database?

Best for:
  • Self-contained deployments
  • When external ClickHouse is not available
  • Full control over configuration
Pros:
  • No external dependencies
  • Full configuration control
  • Included in helm chart
  • Less costly than managed services
Cons:
  • Complex to manage at scale (PBs of data)
  • Manual performance tuning at scale
  • Backup complexity
  • Storage management overhead
Configuration:First, create the Kubernetes secret:
Then configure in values.yaml:
Required resources:
  • 4+ CPU cores
  • 16GB+ RAM
  • 100GB+ fast SSD storage (scales with retention)
Best for:
  • Production environments
  • Large-scale deployments
  • When performance is critical
Pros:
  • Professional management
  • Automatic scaling options
  • Optimized performance
  • Built-in backup/restore
Cons:
  • Additional service costs
  • Vendor lock-in considerations
  • Network bandwidth costs
Configuration:First, create the Kubernetes secret:
Then configure in values.yaml:
Recommended providers:
  • ClickHouse Cloud
  • Altinity.Cloud
  • Self-managed ClickHouse cluster

Pre-Installation Tasks

Based on your decisions above, complete these tasks before installation:

If using dedicated cluster:

  • Provision management cluster
  • Configure network connectivity between clusters
  • Ensure there is an ingress controller

If using external PostgreSQL:

  • Provision PostgreSQL instance (v12+)
  • Create a user with full permissions
  • Configure network security groups/firewall rules so the PostgreSQL instance is accessible from the Kubernetes cluster
  • Create Kubernetes secret with database credentials (see configuration examples)

If using in-cluster PostgreSQL:

  • Ensure persistent storage class is available

If using external ClickHouse:

  • Provision ClickHouse instance/cluster (v25.4+)
  • Provision a ClickHouse user with full permissions
  • Configure network access from the Kubernetes cluster
  • Create Kubernetes secret with database credentials (see configuration examples)

If using in-cluster ClickHouse

  • Ensure persistent storage class is available

General preparation:

  • Install Helm 3.x
  • Obtain Metoro helm charts and image pull secrets from your Metoro representative

Next Steps

Once you’ve made these decisions and completed the preparation tasks:
  1. Proceed to the configuration guide to create your values.yaml file
  2. Follow the installation guide to deploy Metoro Hub on your Kubernetes cluster
Take time to make these decisions carefully. Changing deployment topology or database backends after installation requires significant migration effort.