Skip to content

Commit f7da3f8

Browse files
committed
fix(hosting): sync webapp to a custom ClickHouse secret and add a startup probe
The webapp now resolves CLICKHOUSE_PASSWORD through the same auth.existingSecret/existingSecretKey values the bundled server uses, so pointing the chart at a custom credentials secret keeps both sides on the same password. A startup probe gives ClickHouse up to ten minutes to load metadata on first boot with a large adopted data volume before liveness checks begin.
1 parent a872bf4 commit f7da3f8

3 files changed

Lines changed: 24 additions & 2 deletions

File tree

hosting/k8s/helm/templates/clickhouse.yaml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,17 @@ spec:
131131
failureThreshold: {{ .Values.clickhouse.readinessProbe.failureThreshold }}
132132
successThreshold: {{ .Values.clickhouse.readinessProbe.successThreshold }}
133133
{{- end }}
134+
{{- if .Values.clickhouse.startupProbe.enabled }}
135+
startupProbe:
136+
httpGet:
137+
path: /ping
138+
port: http
139+
initialDelaySeconds: {{ .Values.clickhouse.startupProbe.initialDelaySeconds }}
140+
periodSeconds: {{ .Values.clickhouse.startupProbe.periodSeconds }}
141+
timeoutSeconds: {{ .Values.clickhouse.startupProbe.timeoutSeconds }}
142+
failureThreshold: {{ .Values.clickhouse.startupProbe.failureThreshold }}
143+
successThreshold: {{ .Values.clickhouse.startupProbe.successThreshold }}
144+
{{- end }}
134145
resources:
135146
{{- toYaml .Values.clickhouse.resources | nindent 12 }}
136147
volumeMounts:

hosting/k8s/helm/templates/webapp.yaml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -419,11 +419,13 @@ spec:
419419
name: {{ include "trigger-v4.clickhouse.external.secretName" . }}
420420
key: {{ include "trigger-v4.clickhouse.external.passwordKey" . }}
421421
{{- else if .Values.clickhouse.deploy }}
422+
{{- /* Same secret reference the bundled ClickHouse server uses, so a
423+
custom auth.existingSecret keeps the app and server in sync. */}}
422424
- name: CLICKHOUSE_PASSWORD
423425
valueFrom:
424426
secretKeyRef:
425-
name: {{ include "trigger-v4.datastore.secretName" . }}
426-
key: clickhouse-admin-password
427+
name: {{ .Values.clickhouse.auth.existingSecret | default (include "trigger-v4.datastore.secretName" .) }}
428+
key: {{ .Values.clickhouse.auth.existingSecretKey | default "clickhouse-admin-password" }}
427429
{{- end }}
428430
- name: CLICKHOUSE_URL
429431
value: {{ include "trigger-v4.clickhouse.url" . | quote }}

hosting/k8s/helm/values.yaml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -730,6 +730,15 @@ clickhouse:
730730
timeoutSeconds: 5
731731
failureThreshold: 5
732732
successThreshold: 1
733+
# Generous startup window: first boot on a large adopted data volume can
734+
# spend a while loading metadata before the HTTP listener answers.
735+
startupProbe:
736+
enabled: true
737+
initialDelaySeconds: 5
738+
periodSeconds: 10
739+
timeoutSeconds: 5
740+
failureThreshold: 60
741+
successThreshold: 1
733742

734743
# External ClickHouse connection (when deploy: false)
735744
external:

0 commit comments

Comments
 (0)