The Helm chart for ClickStack can be found here and is the recommended method for production deployments. The v2.x chart uses a two-phase installation. Operators and CRDs are installed first via theDocumentation Index
Fetch the complete documentation index at: https://private-7c7dfe99-page-updates.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
clickstack-operators chart, followed by the main clickstack chart which creates operator-managed custom resources for ClickHouse, MongoDB, and the OpenTelemetry Collector.
By default, the Helm chart provisions all core components, including:
- ClickHouse — managed by the ClickHouse Operator via
ClickHouseClusterandKeeperClustercustom resources - HyperDX — the observability UI and API
- OpenTelemetry (OTel) collector — deployed via the official OpenTelemetry Collector Helm chart as a subchart
- MongoDB — managed by the MongoDB Kubernetes Operator (MCK) via a
MongoDBCommunitycustom resource
- Environment-specific configuration via
values.yaml - Resource limits and pod-level scaling
- TLS and ingress configuration
- Secrets management and authentication setup
- Additional manifests for deploying arbitrary Kubernetes objects (NetworkPolicy, HPA, ALB Ingress, etc.) alongside the chart
Suitable for
- Proof of concepts
- Production
Deployment steps
Install the operators
Install the operator chart first. This registers the CRDs required by the main chart:Forward ports
Port forwarding allows us to access and set up HyperDX. Users deploying to production should instead expose the service via an ingress or load balancer to ensure proper network access, TLS termination, and scalability. Port forwarding is best suited for local development or one-off administrative tasks, not long-term or high-availability environments.Navigate to the UI
Visit http://localhost:8080 to access the HyperDX UI.Create a user, providing a username and password which meets the requirements.On clickingCreate, data sources will be created for the ClickHouse instance deployed with the Helm chart.Overriding default connectionYou can override the default connection to the integrated ClickHouse instance. For details, see “Using ClickHouse Cloud”.
Customizing values (optional)
You can customize settings by using--set flags. For example:values.yaml. To retrieve the default values:Using secrets (optional)
The v2.x chart uses a unified secret (clickstack-secret) populated from hyperdx.secrets in your values. All sensitive environment variables — including ClickHouse passwords, MongoDB passwords, and the HyperDX API key — flow through this single secret.To override secret values:Using ClickHouse Cloud
If using ClickHouse Cloud, disable the built-in ClickHouse instance and provide your Cloud credentials:Production notes
By default, this chart installs ClickHouse, MongoDB, and the OTel collector. For production, it is recommended that you manage ClickHouse and the OTel collector separately. To disable ClickHouse and the OTel collector:Task configuration
By default, there is one task in the chart setup as a cronjob, responsible for checking whether alerts should fire. In v2.x, task configuration has moved underhyperdx.tasks:
| Parameter | Description | Default |
|---|---|---|
hyperdx.tasks.enabled | Enable/Disable cron tasks in the cluster. By default, the HyperDX image will run cron tasks in the process. Change to true if you’d rather use a separate cron task in the cluster. | false |
hyperdx.tasks.checkAlerts.schedule | Cron schedule for the check-alerts task | */1 * * * * |
hyperdx.tasks.checkAlerts.resources | Resource requests and limits for the check-alerts task | See values.yaml |
Upgrading the chart
To upgrade to a newer version:Upgrading from v1.xIf you are upgrading from the v1.x inline-template chart, see the Upgrade guide for migration instructions. This is a breaking change — an in-place
helm upgrade is not supported.Uninstalling ClickStack
Uninstall in reverse order:helm uninstall. This is by design to prevent accidental data loss. To clean up PVCs, refer to:
Troubleshooting
Checking logs
Debugging a failed install
Verifying deployment
Schema choice: Map vs JSON
ClickStack stores attributes asMap(LowCardinality(String), String) columns by default. This is the recommended schema for observability workloads. Combined with bucketed map serialization and text indexes on map keys and values, it provides selective lookups without the per-key ingest overhead of dynamic JSON subcolumns.
A JSON-typed schema is available in beta for evaluation on workloads with a small, stable attribute key-set. It is not recommended as the default. See Map vs JSON type for the full comparison and the env vars required to enable JSON support.
Related documentation
Deployment guides
- Deployment options - External ClickHouse, OTEL collector, and minimal deployments
- Configuration guide - API keys, secrets, and ingress setup
- Cloud deployments - GKE, EKS, AKS configurations and production best practices
- Upgrade guide - Migrating from v1.x to v2.x
- Additional manifests - Deploying custom Kubernetes objects alongside the chart
v1.x documentation
- Helm (v1.x) - v1.x deployment guide
- Configuration (v1.x) - v1.x configuration
- Deployment options (v1.x) - v1.x deployment options
- Cloud deployments (v1.x) - v1.x cloud configurations
Additional resources
- ClickStack getting started guide - Introduction to ClickStack
- ClickStack Helm charts repository - Chart source code and values reference
- Kubernetes documentation - Kubernetes reference
- Helm documentation - Helm reference