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