Skip to content

Commit 9493843

Browse files
authored
feat: relocate persistence field + handle the case when pvc is disabled (#32)
1 parent 04cab80 commit 9493843

File tree

9 files changed

+166
-29
lines changed

9 files changed

+166
-29
lines changed

.changeset/fair-houses-begin.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"helm-charts": patch
3+
---
4+
5+
fix: relocate mongodb volume persistence field + handle the case when CH pvc is disabled

charts/hdx-oss-v2/templates/claims/persistent-volume-claims.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
{{- if .Values.persistence.mongodb.enabled }}
1+
{{- if .Values.mongodb.persistence.enabled }}
22
apiVersion: v1
33
kind: PersistentVolumeClaim
44
metadata:
@@ -13,6 +13,6 @@ spec:
1313
{{- end }}
1414
resources:
1515
requests:
16-
storage: {{ .Values.persistence.mongodb.size }}
16+
storage: {{ .Values.mongodb.persistence.dataSize }}
1717
---
18-
{{- end }}
18+
{{- end }}

charts/hdx-oss-v2/templates/clickhouse-deployment.yaml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,9 +46,19 @@ spec:
4646
configMap:
4747
name: {{ include "hdx-oss.fullname" . }}-clickhouse-users
4848
- name: data
49+
{{- if .Values.clickhouse.persistence.enabled }}
50+
persistentVolumeClaim:
51+
claimName: {{ include "hdx-oss.fullname" . }}-clickhouse-data
52+
{{- else }}
4953
emptyDir: {}
54+
{{- end }}
5055
- name: logs
56+
{{- if .Values.clickhouse.persistence.enabled }}
57+
persistentVolumeClaim:
58+
claimName: {{ include "hdx-oss.fullname" . }}-clickhouse-logs
59+
{{- else }}
5160
emptyDir: {}
61+
{{- end }}
5262
---
5363
apiVersion: v1
5464
kind: Service

charts/hdx-oss-v2/templates/mongodb-deployment.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,12 @@ spec:
2828
mountPath: /data/db
2929
volumes:
3030
- name: mongodb-data
31+
{{- if .Values.mongodb.persistence.enabled }}
3132
persistentVolumeClaim:
3233
claimName: {{ include "hdx-oss.fullname" . }}-mongodb
34+
{{- else }}
35+
emptyDir: {}
36+
{{- end }}
3337
---
3438
apiVersion: v1
3539
kind: Service

charts/hdx-oss-v2/tests/clickhouse-deployment_test.yaml

Lines changed: 75 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,4 +71,78 @@ tests:
7171
path: spec.storageClassName
7272
- documentIndex: 5
7373
isNull:
74-
path: spec.storageClassName
74+
path: spec.storageClassName
75+
76+
- it: should use PVCs when persistence is enabled
77+
set:
78+
clickhouse:
79+
enabled: true
80+
persistence:
81+
enabled: true
82+
dataSize: 10Gi
83+
logSize: 5Gi
84+
asserts:
85+
- documentIndex: 0
86+
isKind:
87+
of: Deployment
88+
- documentIndex: 0
89+
equal:
90+
path: spec.template.spec.volumes[2].name
91+
value: data
92+
- documentIndex: 0
93+
isNotNull:
94+
path: spec.template.spec.volumes[2].persistentVolumeClaim
95+
- documentIndex: 0
96+
matchRegex:
97+
path: spec.template.spec.volumes[2].persistentVolumeClaim.claimName
98+
pattern: .*-clickhouse-data$
99+
- documentIndex: 0
100+
isNull:
101+
path: spec.template.spec.volumes[2].emptyDir
102+
- documentIndex: 0
103+
equal:
104+
path: spec.template.spec.volumes[3].name
105+
value: logs
106+
- documentIndex: 0
107+
isNotNull:
108+
path: spec.template.spec.volumes[3].persistentVolumeClaim
109+
- documentIndex: 0
110+
matchRegex:
111+
path: spec.template.spec.volumes[3].persistentVolumeClaim.claimName
112+
pattern: .*-clickhouse-logs$
113+
- documentIndex: 0
114+
isNull:
115+
path: spec.template.spec.volumes[3].emptyDir
116+
117+
- it: should use emptyDir when persistence is disabled
118+
set:
119+
clickhouse:
120+
enabled: true
121+
persistence:
122+
enabled: false
123+
asserts:
124+
- hasDocuments:
125+
count: 4
126+
- documentIndex: 0
127+
isKind:
128+
of: Deployment
129+
- documentIndex: 0
130+
equal:
131+
path: spec.template.spec.volumes[2].name
132+
value: data
133+
- documentIndex: 0
134+
isNotNull:
135+
path: spec.template.spec.volumes[2].emptyDir
136+
- documentIndex: 0
137+
isNull:
138+
path: spec.template.spec.volumes[2].persistentVolumeClaim
139+
- documentIndex: 0
140+
equal:
141+
path: spec.template.spec.volumes[3].name
142+
value: logs
143+
- documentIndex: 0
144+
isNotNull:
145+
path: spec.template.spec.volumes[3].emptyDir
146+
- documentIndex: 0
147+
isNull:
148+
path: spec.template.spec.volumes[3].persistentVolumeClaim

charts/hdx-oss-v2/tests/mongodb-deployment_test.yaml

Lines changed: 47 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,4 +24,50 @@ tests:
2424
enabled: false
2525
asserts:
2626
- hasDocuments:
27-
count: 0
27+
count: 0
28+
29+
- it: should use PVC when persistence is enabled
30+
set:
31+
mongodb:
32+
enabled: true
33+
persistence:
34+
enabled: true
35+
asserts:
36+
- documentIndex: 0
37+
isKind:
38+
of: Deployment
39+
- documentIndex: 0
40+
equal:
41+
path: spec.template.spec.volumes[0].name
42+
value: mongodb-data
43+
- documentIndex: 0
44+
isNotNull:
45+
path: spec.template.spec.volumes[0].persistentVolumeClaim
46+
- documentIndex: 0
47+
matchRegex:
48+
path: spec.template.spec.volumes[0].persistentVolumeClaim.claimName
49+
pattern: .*-mongodb$
50+
- documentIndex: 0
51+
isNull:
52+
path: spec.template.spec.volumes[0].emptyDir
53+
54+
- it: should use emptyDir when persistence is disabled
55+
set:
56+
mongodb:
57+
enabled: true
58+
persistence:
59+
enabled: false
60+
asserts:
61+
- documentIndex: 0
62+
isKind:
63+
of: Deployment
64+
- documentIndex: 0
65+
equal:
66+
path: spec.template.spec.volumes[0].name
67+
value: mongodb-data
68+
- documentIndex: 0
69+
isNotNull:
70+
path: spec.template.spec.volumes[0].emptyDir
71+
- documentIndex: 0
72+
isNull:
73+
path: spec.template.spec.volumes[0].persistentVolumeClaim

charts/hdx-oss-v2/tests/persistence_test.yaml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@ tests:
66
set:
77
global:
88
storageClass: "custom-storage-class"
9-
persistence:
10-
mongodb:
9+
mongodb:
10+
persistence:
1111
enabled: true
12-
size: 15Gi
12+
dataSize: 15Gi
1313
asserts:
1414
- isKind:
1515
of: PersistentVolumeClaim
@@ -25,8 +25,8 @@ tests:
2525

2626
- it: should not create PVCs when persistence is disabled
2727
set:
28-
persistence:
29-
mongodb:
28+
mongodb:
29+
persistence:
3030
enabled: false
3131
asserts:
3232
- hasDocuments:
@@ -36,10 +36,10 @@ tests:
3636
set:
3737
global:
3838
storageClass: ""
39-
persistence:
40-
mongodb:
39+
mongodb:
40+
persistence:
4141
enabled: true
42-
size: 10Gi
42+
dataSize: 10Gi
4343
asserts:
4444
- isKind:
4545
of: PersistentVolumeClaim

charts/hdx-oss-v2/tests/pvc_test.yaml

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@ templates:
44
tests:
55
- it: should render mongodb pvc correctly when enabled
66
set:
7-
persistence:
8-
mongodb:
7+
mongodb:
8+
persistence:
99
enabled: true
10-
size: 10Gi
10+
dataSize: 10Gi
1111
global:
1212
storageClass: standard
1313
asserts:
@@ -28,19 +28,19 @@ tests:
2828

2929
- it: should not render mongodb pvc when disabled
3030
set:
31-
persistence:
32-
mongodb:
31+
mongodb:
32+
persistence:
3333
enabled: false
3434
asserts:
3535
- hasDocuments:
3636
count: 0
3737

3838
- it: should not include storageClassName when global.storageClass is empty
3939
set:
40-
persistence:
41-
mongodb:
40+
mongodb:
41+
persistence:
4242
enabled: true
43-
size: 10Gi
43+
dataSize: 10Gi
4444
global:
4545
storageClass: ""
4646
asserts:
@@ -51,10 +51,10 @@ tests:
5151

5252
- it: should not include storageClassName when global.storageClass is not set
5353
set:
54-
persistence:
55-
mongodb:
54+
mongodb:
55+
persistence:
5656
enabled: true
57-
size: 10Gi
57+
dataSize: 10Gi
5858
asserts:
5959
- isKind:
6060
of: PersistentVolumeClaim

charts/hdx-oss-v2/values.yaml

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,9 @@ mongodb:
155155
image: "mongo:5.0.14-focal"
156156
port: 27017
157157
enabled: true
158+
persistence:
159+
enabled: true
160+
dataSize: 10Gi
158161

159162
clickhouse:
160163
image: "clickhouse/clickhouse-server:24-alpine"
@@ -205,11 +208,6 @@ otel:
205208
# Clickhouse database to send logs/traces/metrics to. Defaults to "default"
206209
clickhouseDatabase: "default"
207210

208-
persistence:
209-
mongodb:
210-
enabled: true
211-
size: 10Gi
212-
213211
tasks:
214212
enabled: false
215213
checkAlerts:

0 commit comments

Comments
 (0)