diff --git a/packages/apps/README.md b/packages/apps/README.md index b2cb30cf..8ee4c3ed 100644 --- a/packages/apps/README.md +++ b/packages/apps/README.md @@ -4,6 +4,5 @@ cd packages/core/installer make image-cozystack REGISTRY=YOUR_CUSTOM_REGISTRY make apply -kubectl delete pod dashboard-redis-master-0 -n cozy-dashboard kubectl delete po -l app=source-controller -n cozy-fluxcd ``` diff --git a/packages/apps/clickhouse/README.md b/packages/apps/clickhouse/README.md index 370197b8..692a58a7 100644 --- a/packages/apps/clickhouse/README.md +++ b/packages/apps/clickhouse/README.md @@ -60,6 +60,7 @@ For more details, read [Restic: Effective Backup from Stdin](https://blog.aenix. | `clickhouseKeeper.enabled` | Deploy ClickHouse Keeper for cluster coordination | `true` | | `clickhouseKeeper.size` | Persistent Volume Claim size, available for application data | `1Gi` | | `clickhouseKeeper.resourcesPreset` | Default sizing preset used when `resources` is omitted. Allowed values: nano, micro, small, medium, large, xlarge, 2xlarge. | `micro` | +| `clickhouseKeeper.replicas` | Number of keeper replicas | `3` | ## Parameter examples and reference diff --git a/packages/apps/clickhouse/templates/chkeeper.yaml b/packages/apps/clickhouse/templates/chkeeper.yaml index 0739710f..54824a44 100644 --- a/packages/apps/clickhouse/templates/chkeeper.yaml +++ b/packages/apps/clickhouse/templates/chkeeper.yaml @@ -15,7 +15,7 @@ spec: clusters: - name: "cluster1" layout: - replicasCount: 3 + replicasCount: {{ .Values.clickhouseKeeper.replicas }} settings: logger/level: "trace" logger/console: "true" diff --git a/packages/apps/clickhouse/templates/clickhouse.yaml b/packages/apps/clickhouse/templates/clickhouse.yaml index bab1fbe0..47e5b56a 100644 --- a/packages/apps/clickhouse/templates/clickhouse.yaml +++ b/packages/apps/clickhouse/templates/clickhouse.yaml @@ -94,8 +94,14 @@ spec: {{- if .Values.clickhouseKeeper.enabled }} zookeeper: nodes: - - host: "keeper-{{ .Release.Name }}-keeper.{{ .Release.Namespace }}.svc.{{ $clusterDomain }}" + {{- $replicas := int .Values.clickhouseKeeper.replicas }} + {{- $release := .Release.Name }} + {{- $namespace := .Release.Namespace }} + {{- $clusterDomain := .Values.clusterDomain }} + {{- range $i := until $replicas }} + - host: "chk-{{ $release }}-keeper-cluster1-0-{{ $i }}.{{ $namespace }}.svc.{{ $clusterDomain }}" port: 2181 + {{- end }} {{- end }} templates: volumeClaimTemplates: diff --git a/packages/apps/clickhouse/templates/dashboard-resourcemap.yaml b/packages/apps/clickhouse/templates/dashboard-resourcemap.yaml index c0a7d9fb..042f6de6 100644 --- a/packages/apps/clickhouse/templates/dashboard-resourcemap.yaml +++ b/packages/apps/clickhouse/templates/dashboard-resourcemap.yaml @@ -23,6 +23,9 @@ rules: - workloadmonitors resourceNames: - {{ .Release.Name }} + {{- if .Values.clickhouseKeeper.enabled }} + - {{ .Release.Name }}-keeper + {{- end }} verbs: ["get", "list", "watch"] --- kind: RoleBinding diff --git a/packages/apps/clickhouse/templates/workloadmonitor.yaml b/packages/apps/clickhouse/templates/workloadmonitor.yaml index 43c91672..9020ad41 100644 --- a/packages/apps/clickhouse/templates/workloadmonitor.yaml +++ b/packages/apps/clickhouse/templates/workloadmonitor.yaml @@ -18,8 +18,8 @@ kind: WorkloadMonitor metadata: name: {{ $.Release.Name }}-keeper spec: - replicas: 3 - minReplicas: 3 + replicas: {{ .Values.clickhouseKeeper.replicas }} + minReplicas: 1 kind: clickhouse type: clickhouse selector: diff --git a/packages/apps/clickhouse/values.schema.json b/packages/apps/clickhouse/values.schema.json index f76fc86f..b8134e6d 100644 --- a/packages/apps/clickhouse/values.schema.json +++ b/packages/apps/clickhouse/values.schema.json @@ -52,6 +52,11 @@ "description": "Deploy ClickHouse Keeper for cluster coordination ", "type": "boolean" }, + "replicas": { + "default": 3, + "description": "Number of keeper replicas", + "type": "number" + }, "resourcesPreset": { "default": "micro", "description": "Default sizing preset used when `resources` is omitted. Allowed values: nano, micro, small, medium, large, xlarge, 2xlarge.", diff --git a/packages/apps/clickhouse/values.yaml b/packages/apps/clickhouse/values.yaml index 76aaac95..c919d8ad 100644 --- a/packages/apps/clickhouse/values.yaml +++ b/packages/apps/clickhouse/values.yaml @@ -60,7 +60,9 @@ backup: ## @param clickhouseKeeper.enabled Deploy ClickHouse Keeper for cluster coordination ## @param clickhouseKeeper.size Persistent Volume Claim size, available for application data ## @param clickhouseKeeper.resourcesPreset Default sizing preset used when `resources` is omitted. Allowed values: nano, micro, small, medium, large, xlarge, 2xlarge. +## @param clickhouseKeeper.replicas Number of keeper replicas clickhouseKeeper: enabled: true size: 1Gi resourcesPreset: micro + replicas: 3