MCPcopy Index your code
hub / github.com/Altinity/clickhouse-operator

github.com/Altinity/clickhouse-operator @release-0.27.1 sqlite

repository ↗ · DeepWiki ↗ · release release-0.27.1 ↗
5,373 symbols 19,150 edges 515 files 3,147 documented · 59%
README

Altinity® Kubernetes Operator for ClickHouse®

The Altinity Kubernetes Operator for ClickHouse creates, configures and manages ClickHouse clusters running on Kubernetes.

Build Master GitHub release tags Docker Pulls Go version Go Report Card issues AltinityDB Slack

Features

  • Creates ClickHouse clusters defined as custom resources
  • Customized storage provisioning (VolumeClaim templates)
  • Customized pod templates
  • Customized service templates for endpoints
  • ClickHouse configuration management
  • ClickHouse users management
  • ClickHouse cluster scaling including automatic schema propagation
  • ClickHouse version upgrades
  • Exporting ClickHouse metrics to Prometheus
  • FIPS 140-3 compatible operator + metrics-exporter images (GOFIPS140=v1.0.0, GODEBUG=fips140=on by default) — see Security Hardening for the FIPS scope, prerequisites, and opt-in strict mode. An optional ACVP responder (NIST cryptographic validation protocol) is available via -tags acvp_wrapper builds; see pkg/util/fips/acvp/README.md.

Community

The Altinity Kubernetes Operator for ClickHouse is a community effort sponsored by Altinity. The best way to reach us or ask questions is:

Requirements

  • Kubernetes 1.25+
  • ClickHouse 21.11+. For older ClickHouse versions use operator 0.23.7 or earlier.

Documentation

Quick Start Guide

Advanced configuration * Detailed Operator Installation Instructions * Operator Configuration * Setup ClickHouse cluster with replication * Setting up Zookeeper * Persistent Storage Configuration * Security Hardening * ClickHouse Installation Custom Resource specification

Maintenance tasks * Add replication to an existing ClickHouse cluster * Schema maintenance * Update ClickHouse version * Update Operator version

Monitoring * Setup Monitoring * Prometheus & clickhouse-operator integration * Grafana & Prometheus integration

How to contribute * How to contribute/submit a patch * How to easy development process with devspace.sh


* Documentation index

License

Copyright (c) 2019-2025, Altinity Inc and/or its affiliates. All rights reserved.

Altinity Kubernetes Operator for ClickHouse is licensed under the Apache License 2.0.

See LICENSE for more details.

Commercial Support

Altinity is the primary maintainer of the operator. It is the basis of Altinity.Cloud and is also used in self-managed installations. Altinity offers a range of services related to ClickHouse and analytic applications on Kubernetes.

  • Official website - Get a high level overview of Altinity and our offerings.
  • Altinity.Cloud - Run ClickHouse in our cloud or yours.
  • Altinity Support - Get Enterprise-class support for ClickHouse.
  • Slack - Talk directly with ClickHouse users and Altinity devs.
  • Contact us - Contact Altinity with your questions or issues.
  • Free consultation - Get a free consultation with a ClickHouse expert today.

Extension points exported contracts — how you extend this code

ClickHouseInstallationNamespaceLister (Interface)
ClickHouseInstallationNamespaceLister helps list and get ClickHouseInstallations. All objects returned here must be trea [22 …
pkg/client/listers/clickhouse.altinity.com/v1/clickhouseinstallation.go
HostsWalker (Interface)
HostsWalker is the narrow CR-shaped surface RejectFIPSBypass and EnforceFIPSImagePolicy actually exercise. Declared here [12 …
pkg/model/common/normalizer/fips/fips.go
IWalkHosts (Interface)
(no doc) [12 implementers]
pkg/controller/chi/kube/pod.go
IClusterAddress (Interface)
(no doc) [7 implementers]
pkg/apis/clickhouse.altinity.com/v1/interface.go
IKubeConfigMap (Interface)
(no doc) [19 implementers]
pkg/interfaces/interfaces-kube.go
MetricsFilter (Interface)
MetricsFilter decides whether a given ClickHouse metric name should be excluded from emission. Declared in the consumer [2 …
pkg/metrics/clickhouse/metrics_filter.go
ClickHouseOperatorConfigurationNamespaceLister (Interface)
ClickHouseOperatorConfigurationNamespaceLister helps list and get ClickHouseOperatorConfigurations. All objects returned [22 …
pkg/client/listers/clickhouse.altinity.com/v1/clickhouseoperatorconfiguration.go
Secured (Interface)
Secured interface for nodes and hosts [2 implementers]
pkg/model/chi/config/generator.go

Core symbols most depended-on inside this repo

V
called by 866
pkg/controller/common/announcer/announcer.go
M
called by 733
pkg/controller/common/announcer/announcer.go
Info
called by 708
pkg/controller/common/announcer/announcer.go
F
called by 581
pkg/controller/common/announcer/announcer.go
new
called by 412
pkg/model/common/macro/engine.go
GetName
called by 321
pkg/util/k8s.go
Run
called by 200
pkg/controller/chi/controller.go
GetCR
called by 190
pkg/apis/clickhouse.altinity.com/v1/interface.go

Shape

Method 3,457
Function 1,391
Struct 347
Interface 104
TypeAlias 60
FuncType 9
Route 3
Class 2

Languages

Go94%
Python6%

Modules by API surface

pkg/apis/clickhouse.altinity.com/v1/zz_generated.deepcopy.go272 symbols
pkg/apis/clickhouse.altinity.com/v1/interface.go194 symbols
tests/e2e/test_operator.py159 symbols
pkg/apis/clickhouse.altinity.com/v1/type_configuration_chop.go122 symbols
pkg/model/chi/normalizer/normalizer.go92 symbols
pkg/model/chk/normalizer/normalizer.go77 symbols
pkg/apis/clickhouse.altinity.com/v1/type_status.go74 symbols
pkg/apis/clickhouse-keeper.altinity.com/v1/type_status.go73 symbols
pkg/apis/clickhouse.altinity.com/v1/type_settings.go70 symbols
pkg/interfaces/interfaces-kube.go69 symbols
tests/e2e/kubectl.py66 symbols
pkg/apis/clickhouse.altinity.com/v1/type_chi.go66 symbols

Dependencies from manifests, versioned

github.com/MakeNowJust/heredocv1.0.0 · 1×
github.com/Masterminds/semver/v3v3.2.0 · 1×
github.com/altinity/queuev0.0.0-2021011414204 · 1×
github.com/beorn7/perksv1.0.1 · 1×
github.com/bmizerany/assertv0.0.0-2016061122193 · 1×
github.com/cespare/xxhash/v2v2.3.0 · 1×
github.com/d4l3k/messagediffv1.2.1 · 1×
github.com/evanphx/json-patchv4.12.0+incompatible · 1×
github.com/evanphx/json-patch/v5v5.9.0 · 1×

For agents

$ claude mcp add clickhouse-operator \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact