Skip to main content
This guide covers migrating from the inline-template ClickStack Helm chart (v1.x) to the subchart-based architecture (v2.x). This is a breaking change that replaces hand-rolled Kubernetes resources with operator-managed custom resources for MongoDB and ClickHouse, and uses the official OpenTelemetry Collector Helm chart.
Breaking ChangeThe v2.x chart is not backwards compatible with v1.x. An in-place helm upgrade is not supported. We recommend performing a fresh install alongside the existing deployment and migrating data, rather than attempting an in-place upgrade.

Prerequisites

  • Back up your data before upgrading (MongoDB, ClickHouse PVCs)
  • Review your current values.yaml overrides — most keys have moved or been renamed

Two-phase installation

The v2.x chart uses a two-phase install. Operators (which register CRDs) must be installed before the main chart (which creates CRs):
Uninstall in reverse order:

Data persistence

PersistentVolumeClaims created by the MongoDB and ClickHouse operators are not removed by helm uninstall. This is by design to prevent accidental data loss. To clean up PVCs after uninstalling, refer to:

Storage class

global.storageClassName and global.keepPVC have been removed. Storage class is now configured directly in each operator’s CR spec:

What changed

HyperDX values reorganization

The hyperdx: block is now organized by Kubernetes resource type:

Key moves

Unified ConfigMap and Secret

All environment variables now flow through two static-named resources that are shared by the HyperDX Deployment and the OTEL Collector via envFrom:
  • clickstack-config ConfigMap — populated from hyperdx.config
  • clickstack-secret Secret — populated from hyperdx.secrets
There is no longer a separate OTEL-specific ConfigMap. Both workloads read from the same sources.

MongoDB migration

Removed values

The following mongodb.* values no longer exist:

New values

MongoDB is now managed by the MCK operator via a MongoDBCommunity custom resource. The CR spec is rendered verbatim from mongodb.spec:
The MongoDB password is set in hyperdx.secrets.MONGODB_PASSWORD (not mongodb.password). It is referenced automatically by the password Secret and the mongoUri template. To add persistence, add a statefulSet block inside mongodb.spec:
The MCK operator subchart is configured under mongodb-operator: (not mongodb-kubernetes:). See the MCK documentation for all available CRD fields.

ClickHouse migration

Removed values

The following clickhouse.* values no longer exist:

New values

ClickHouse is now managed by the ClickHouse Operator via ClickHouseCluster and KeeperCluster custom resources. Both CR specs are rendered verbatim from values:
ClickHouse user credentials are now sourced from hyperdx.secrets (not clickhouse.config.users). The cluster spec references them with template expressions. The ClickHouse Operator subchart is configured under clickhouse-operator:. Webhooks and cert-manager are disabled by default. See the operator configuration guide for all available CRD fields.

OTEL Collector migration

Removed values

The entire otel: block no longer exists:

New values

The OTEL Collector is now deployed via the official OpenTelemetry Collector Helm chart as the otel-collector: subchart. There is no parent-chart otel: wrapper — configure the subchart directly. Environment variables (ClickHouse endpoint, OpAMP URL, etc.) are shared via the unified clickstack-config ConfigMap and clickstack-secret Secret. The subchart’s extraEnvsFrom is pre-wired:
To set resources (previously otel.resources):
To set replicas (previously otel.replicas):
To set nodeSelector/tolerations (previously otel.nodeSelector/otel.tolerations):
See the OpenTelemetry Collector Helm chart for all available subchart values.

Unchanged values

The following sections are not affected by this migration:
  • global.* (imageRegistry, imagePullSecrets)

Fresh install vs. in-place upgrade

For a fresh install, no special steps are needed. The default values work out of the box. For an in-place upgrade of an existing release, be aware that:
  1. The operators (MCK, ClickHouse Operator) will be installed as new deployments in your namespace
  2. The existing MongoDB Deployment and ClickHouse Deployment will be deleted by Helm (they are no longer in the chart’s templates)
  3. The operators will create new StatefulSets to manage MongoDB and ClickHouse
  4. PVCs from the old chart are not automatically reused by the operator-managed StatefulSets
We recommend performing a fresh install alongside the existing deployment and migrating data, rather than an in-place upgrade.

Next steps

Last modified on July 2, 2026