Skip to main content
Skip to main content

Helm deployment options

This guide covers advanced deployment options for ClickStack using Helm. For basic installation, see the main Helm deployment guide.

Overview

ClickStack's Helm chart supports multiple deployment configurations:

  • Full stack (default) - All components included
  • External ClickHouse - Use existing ClickHouse cluster
  • External OTEL Collector - Use existing OTEL infrastructure
  • Minimal deployment - Only HyperDX, external dependencies

External ClickHouse

If you have an existing ClickHouse cluster (including ClickHouse Cloud), you can disable the built-in ClickHouse and connect to your external instance.

Option 1: Inline configuration (development/testing)

Use this approach for quick testing or non-production environments:

# values-external-clickhouse.yaml
clickhouse:
  enabled: false  # Disable the built-in ClickHouse

otel:
  clickhouseEndpoint: "tcp://your-clickhouse-server:9000"
  clickhousePrometheusEndpoint: "http://your-clickhouse-server:9363"  # Optional

hyperdx:
  defaultConnections: |
    [
      {
        "name": "External ClickHouse",
        "host": "http://your-clickhouse-server:8123",
        "port": 8123,
        "username": "your-username",
        "password": "your-password"
      }
    ]

Install with this configuration:

helm install my-clickstack clickstack/clickstack -f values-external-clickhouse.yaml

Option 2: External secret (production recommended)

For production deployments where you want to keep credentials separate from your Helm configuration:

Using ClickHouse Cloud

For ClickHouse Cloud specifically:

# values-clickhouse-cloud.yaml
clickhouse:
  enabled: false
  persistence:
    enabled: false

otel:
  clickhouseEndpoint: "tcp://your-cloud-instance.clickhouse.cloud:9440?secure=true"

hyperdx:
  useExistingConfigSecret: true
  existingConfigSecret: "clickhouse-cloud-config"
  existingConfigConnectionsKey: "connections.json"
  existingConfigSourcesKey: "sources.json"

For a complete example of connecting to ClickHouse Cloud, see "Create a ClickHouse Cloud connection".

External OTEL Collector

If you have an existing OTEL collector infrastructure:

# values-external-otel.yaml
otel:
  enabled: false  # Disable the built-in OTEL collector

hyperdx:
  otelExporterEndpoint: "http://your-otel-collector:4318"
helm install my-clickstack clickstack/clickstack -f values-external-otel.yaml

For instructions on exposing OTEL collector endpoints via ingress, see Ingress Configuration.

Minimal Deployment

For organizations with existing infrastructure, deploy only HyperDX:

# values-minimal.yaml
clickhouse:
  enabled: false

otel:
  enabled: false

hyperdx:
  otelExporterEndpoint: "http://your-otel-collector:4318"
  
  # Option 1: Inline (for testing)
  defaultConnections: |
    [
      {
        "name": "External ClickHouse",
        "host": "http://your-clickhouse-server:8123",
        "port": 8123,
        "username": "your-username",
        "password": "your-password"
      }
    ]
  
  # Option 2: External secret (production)
  # useExistingConfigSecret: true
  # existingConfigSecret: "my-external-config"
  # existingConfigConnectionsKey: "connections.json"
  # existingConfigSourcesKey: "sources.json"
helm install my-clickstack clickstack/clickstack -f values-minimal.yaml

Next Steps