title_wip

### KeeperClusterStatus[​](#keeperclusterstatus "Direct link to KeeperClusterStatus")

KeeperClusterStatus defines the observed state of a Keeper cluster.

|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| Field Type Description|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | `conditions` `[]metav1.Condition` Current conditions of the cluster.|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | `observedGeneration` `int64` Most recently observed generation.|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | `replicas` `int32` Number of replicas currently running.|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | `readyReplicas` `int32` Number of ready replicas.|  |  |  |  |  |  |  |  |  |  |  |  | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | `configurationRevision` `string` Target configuration revision applied by the operator.|  |  |  |  |  |  |  |  |  | | --- | --- | --- | --- | --- | --- | --- | --- | --- | | `statefulSetRevision` `string` Target StatefulSet controller revision.|  |  |  |  |  |  | | --- | --- | --- | --- | --- | --- | | `currentRevision` `string` Last applied cluster spec revision.|  |  |  | | --- | --- | --- | | `updateRevision` `string` Last requested cluster spec revision. | | | | | | | | | | | | | | | | | | | | | | | | | | |

## Common Types[​](#common-types "Direct link to Common Types")

### PodTemplateSpec[​](#podtemplatespec "Direct link to PodTemplateSpec")

Parameters for pod configuration.

|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| Field Type Required Description|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | `topologyZoneKey` `string` No Kubernetes topology key for zone distribution (e.g., `topology.kubernetes.io/zone`).| `nodeHostnameKey` `string` No Kubernetes label key for node hostname (e.g., `kubernetes.io/hostname`).| `nodeSelector` `map[string]string` No Node selector for pod placement.|  |  |  |  |  |  |  |  |  |  |  |  | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | `affinity` `corev1.Affinity` No Pod affinity/anti-affinity rules.|  |  |  |  |  |  |  |  | | --- | --- | --- | --- | --- | --- | --- | --- | | `tolerations` `[]corev1.Toleration` No Tolerations for tainted nodes.|  |  |  |  | | --- | --- | --- | --- | | `securityContext` `*corev1.PodSecurityContext` No Pod security context. | | | | | | | | | | | | | | | | | | | | | | | | | | | |

#### Example[​](#example-2 "Direct link to Example")

```
podTemplate:
  topologyZoneKey: topology.kubernetes.io/zone
  nodeHostnameKey: kubernetes.io/hostname
  nodeSelector:
    disktype: ssd
  tolerations:
  - key: "dedicated"
    operator: "Equal"
    value: "clickhouse"
    effect: "NoSchedule"
  affinity:
    podAntiAffinity:
      requiredDuringSchedulingIgnoredDuringExecution:
      - labelSelector:
          matchLabels:
            app.kubernetes.io/name: clickhouse
        topologyKey: kubernetes.io/hostname
```

### ContainerTemplateSpec[​](#containertemplatespec "Direct link to ContainerTemplateSpec")

Parameters for container configuration.

|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| Field Type Required Description|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | `image` `ContainerImage` No Container image configuration.|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | `imagePullPolicy` `corev1.PullPolicy` No Image pull policy (Always, IfNotPresent, Never).|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | `resources` `corev1.ResourceRequirements` No CPU and memory resource requirements.|  |  |  |  |  |  |  |  |  |  |  |  | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | `env` `[]corev1.EnvVar` No Environment variables.|  |  |  |  |  |  |  |  | | --- | --- | --- | --- | --- | --- | --- | --- | | `volumeMounts` `[]corev1.VolumeMount` No Additional volume mounts.|  |  |  |  | | --- | --- | --- | --- | | `securityContext` `*corev1.SecurityContext` No Container security context. | | | | | | | | | | | | | | | | | | | | | | | | | | | |

#### Example[​](#containertemplatespec-example "Direct link to Example")

```
containerTemplate:
  image:
    repository: clickhouse/clickhouse-server
    tag: "25.12"
  imagePullPolicy: IfNotPresent
  resources:
    requests:
      cpu: "2"
      memory: "8Gi"
    limits:
      cpu: "4"
      memory: "16Gi"
  env:
  - name: TZ
    value: "UTC"
```

### ContainerImage[​](#containerimage "Direct link to ContainerImage")

Container image specification.

|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| Field Type Required Default Description|  |  |  |  |  |  |  |  |  |  | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | `repository` `string` No ClickHouse: `clickhouse/clickhouse-server` Keeper: `clickhouse/clickhouse-keeper` Container image repository.|  |  |  |  |  | | --- | --- | --- | --- | --- | | `tag` `string` No `latest` Image tag. | | | | | | | | | | | | | | |

### ClusterTLSSpec[​](#clustertlsspec "Direct link to ClusterTLSSpec")

TLS configuration for clusters.

|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| Field Type Required Description|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | `enabled` `bool` No Enable TLS.|  |  |  |  |  |  |  |  |  |  |  |  | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | `required` `bool` No Require TLS for all connections (disables insecure endpoints).|  |  |  |  |  |  |  |  | | --- | --- | --- | --- | --- | --- | --- | --- | | `serverCertSecret` `corev1.LocalObjectReference` No Secret containing server certificate (tls.crt, tls.key).|  |  |  |  | | --- | --- | --- | --- | | `caBundle` `*SecretKeySelector` No Secret containing CA bundle for verification. | | | | | | | | | | | | | | | | | | | |

#### Example[​](#clustertlsspec-example "Direct link to Example")

```
tls:
  enabled: true
  required: true
  serverCertSecret:
    name: clickhouse-cert
  caBundle:
    secretKeyRef:
      name: ca-cert-secret
      key: ca.crt
```

### LoggerConfig[​](#loggerconfig "Direct link to LoggerConfig")

Logger configuration for ClickHouse and Keeper.