@@ -196,7 +196,7 @@ generate-helmchart: kubebuilder kustomize ## Generate helm charts
196196 rm .github/workflows/test-chart.yml dist/install-helm.yaml
197197
198198.PHONY : generate-helmchart-ci
199- generate-helmchart-ci : generate-helmchart # # Generate helm charts and reset some files that will always generate diff
199+ generate-helmchart-ci : generate-helmchart generate-cluster-chart # # Generate helm charts and reset some files that will always generate diff
200200 git checkout dist/chart/templates/cert-manager/
201201 git checkout dist/chart/templates/manager/
202202
@@ -212,6 +212,35 @@ package-helmchart: build-helmchart-dependencies ## Package helm chart. It will b
212212push-helmchart : package-helmchart # # Push helm image. It will be pushed to the ${IMAGE_REPO}/(helmchart name, same as in Chart.yaml)
213213 helm push clickhouse-operator-helm-${VERSION} .tgz oci://$(IMAGE_REPO )
214214
215+ # #@ Cluster Helm Chart
216+
217+ CLUSTER_CHART_DIR := dist/chart-cluster
218+ GEN_CLUSTER_CHART ?= $(LOCALBIN ) /gen-cluster-chart
219+
220+ .PHONY : gen-cluster-chart-bin
221+ gen-cluster-chart-bin : $(LOCALBIN ) # # Build the cluster-chart generator binary.
222+ go build -o $(GEN_CLUSTER_CHART ) ./tools/gen-cluster-chart
223+
224+ .PHONY : generate-cluster-chart
225+ generate-cluster-chart : manifests gen-cluster-chart-bin # # Generate cluster chart values.yaml from CRDs.
226+ $(GEN_CLUSTER_CHART ) \
227+ -clickhouse-crd config/crd/bases/clickhouse.com_clickhouseclusters.yaml \
228+ -keeper-crd config/crd/bases/clickhouse.com_keeperclusters.yaml \
229+ -out $(CLUSTER_CHART_DIR )
230+
231+ .PHONY : package-cluster-chart
232+ package-cluster-chart : # # Package cluster chart. It will be saved as clickhouse-cluster-helm-$(VERSION).tgz
233+ helm package --version ${VERSION} --app-version v${VERSION} $(CLUSTER_CHART_DIR )
234+
235+ .PHONY : push-cluster-chart
236+ push-cluster-chart : package-cluster-chart # # Push cluster chart. It will be pushed to ${IMAGE_REPO}/clickhouse-cluster-helm
237+ helm push clickhouse-cluster-helm-${VERSION} .tgz oci://$(IMAGE_REPO )
238+
239+ .PHONY : lint-cluster-chart
240+ lint-cluster-chart : # # Lint + dry-render cluster chart.
241+ helm lint $(CLUSTER_CHART_DIR )
242+ helm template test $(CLUSTER_CHART_DIR ) > /dev/null
243+
215244# #@ Build
216245
217246GIT_COMMIT ?= $(shell git rev-parse HEAD 2>/dev/null || echo "unknown")
0 commit comments