From 1b851a8b72935cf5f491eec5f5024191101edd3c Mon Sep 17 00:00:00 2001 From: rjshrjndrn Date: Wed, 9 Apr 2025 15:32:53 +0200 Subject: [PATCH] feat(clickhouse): add config override capability Adds support for overriding ClickHouse server configurations by: - Creating a new ConfigMap to store custom XML configurations - Mounting the ConfigMap to ClickHouse pods under /etc/clickhouse-server/config.d - Adding configOverride field to values.yaml with examples Signed-off-by: rjshrjndrn --- .../clickhouse/templates/configmap.yaml | 10 ++++++++ .../clickhouse/templates/statefulset.yaml | 7 ++++++ .../databases/charts/clickhouse/values.yaml | 25 +++++++++++++++++++ 3 files changed, 42 insertions(+) create mode 100644 scripts/helmcharts/databases/charts/clickhouse/templates/configmap.yaml diff --git a/scripts/helmcharts/databases/charts/clickhouse/templates/configmap.yaml b/scripts/helmcharts/databases/charts/clickhouse/templates/configmap.yaml new file mode 100644 index 000000000..41a94dd90 --- /dev/null +++ b/scripts/helmcharts/databases/charts/clickhouse/templates/configmap.yaml @@ -0,0 +1,10 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: clickhouse-override +data: + {{- range $filename, $content := .Values.configOverride }} + {{ $filename }}: |- +{{ $content | indent 4 }} + {{- end }} + diff --git a/scripts/helmcharts/databases/charts/clickhouse/templates/statefulset.yaml b/scripts/helmcharts/databases/charts/clickhouse/templates/statefulset.yaml index ebf79cfe2..dedcbb428 100644 --- a/scripts/helmcharts/databases/charts/clickhouse/templates/statefulset.yaml +++ b/scripts/helmcharts/databases/charts/clickhouse/templates/statefulset.yaml @@ -73,6 +73,8 @@ spec: volumeMounts: - name: default-chi-openreplay-clickhouse-replicated-0-0-0 mountPath: /var/lib/clickhouse + - name: clickhouse-override-config + mountPath: /etc/clickhouse-server/config.d resources: {{- toYaml .Values.resources | nindent 12 }} {{- with .Values.nodeSelector }} @@ -87,6 +89,11 @@ spec: tolerations: {{- toYaml . | nindent 8 }} {{- end }} + volumes: + - name: clickhouse-override-config + configMap: + name: clickhouse-override + optional: true volumeClaimTemplates: - metadata: name: default-chi-openreplay-clickhouse-replicated-0-0-0 diff --git a/scripts/helmcharts/databases/charts/clickhouse/values.yaml b/scripts/helmcharts/databases/charts/clickhouse/values.yaml index 0d5c3daad..b5cf37f44 100644 --- a/scripts/helmcharts/databases/charts/clickhouse/values.yaml +++ b/scripts/helmcharts/databases/charts/clickhouse/values.yaml @@ -83,3 +83,28 @@ tolerations: [] affinity: {} storageSize: 100Gi + +configOverride: + zzoverride.xml: |- + + + information + true + + + + 0.0.0.0 + 100 + 64 + 2 + fair_round_robin + 102400000000 + 10000 + 0.8 + + 26214 + + # another-config.xml: |- + # + # value + #