diff --git a/packages/apps/clickhouse/Chart.yaml b/packages/apps/clickhouse/Chart.yaml index b86fc70f..92cc01e1 100644 --- a/packages/apps/clickhouse/Chart.yaml +++ b/packages/apps/clickhouse/Chart.yaml @@ -16,7 +16,7 @@ type: application # This is the chart version. This version number should be incremented each time you make changes # to the chart and its templates, including the app version. # Versions are expected to follow Semantic Versioning (https://semver.org/) -version: 0.5.0 +version: 0.6.0 # This is the version number of the application being deployed. This version number should be # incremented each time you make changes to the application. Versions are not expected to diff --git a/packages/apps/clickhouse/README.md b/packages/apps/clickhouse/README.md index 456371c9..1bec6bd4 100644 --- a/packages/apps/clickhouse/README.md +++ b/packages/apps/clickhouse/README.md @@ -19,12 +19,14 @@ more details: ### Common parameters -| Name | Description | Value | -| -------------- | ----------------------------------- | ------ | -| `size` | Persistent Volume size | `10Gi` | -| `shards` | Number of Clickhouse replicas | `1` | -| `replicas` | Number of Clickhouse shards | `2` | -| `storageClass` | StorageClass used to store the data | `""` | +| Name | Description | Value | +| ---------------- | ----------------------------------- | ------ | +| `size` | Persistent Volume size | `10Gi` | +| `logStorageSize` | Persistent Volume for logs size | `2Gi` | +| `shards` | Number of Clickhouse replicas | `1` | +| `replicas` | Number of Clickhouse shards | `2` | +| `storageClass` | StorageClass used to store the data | `""` | +| `logTTL` | for query_log and query_thread_log | `15` | ### Configuration parameters diff --git a/packages/apps/clickhouse/templates/clickhouse.yaml b/packages/apps/clickhouse/templates/clickhouse.yaml index 211d645a..be06e3a8 100644 --- a/packages/apps/clickhouse/templates/clickhouse.yaml +++ b/packages/apps/clickhouse/templates/clickhouse.yaml @@ -32,11 +32,12 @@ kind: "ClickHouseInstallation" metadata: name: "{{ .Release.Name }}" spec: - {{- with .Values.size }} + namespaceDomainPattern: "%s.svc.cozy.local" defaults: templates: dataVolumeClaimTemplate: data-volume-template - {{- end }} + podTemplate: clickhouse-per-host + serviceTemplate: svc-template configuration: {{- with $users }} users: @@ -46,6 +47,41 @@ spec: {{ $name }}/networks/ip: ["::/0"] {{- end }} {{- end }} + files: + config.d/z_log_disable.xml: | + + + + + + + + + + + + + config.d/query_log_ttl.xml: | + + + system + query_log
+ ENGINE = MergeTree PARTITION BY (event_date) + ORDER BY (event_time) + TTL event_date + INTERVAL {{ .Values.logTTL }} DAY DELETE + + 7500 +
+ + system + query_thread_log
+ ENGINE = MergeTree PARTITION BY (event_date) + ORDER BY (event_time) + TTL event_date + INTERVAL {{ .Values.logTTL }} DAY DELETE + + 7500 +
+
profiles: readonly/readonly: "1" clusters: @@ -53,17 +89,48 @@ spec: layout: shardsCount: {{ .Values.shards }} replicasCount: {{ .Values.replicas }} - {{- with .Values.size }} templates: volumeClaimTemplates: - name: data-volume-template spec: accessModes: - ReadWriteOnce - {{- with $.Values.storageClass }} - storageClassName: {{ . }} - {{- end }} resources: requests: - storage: {{ . }} - {{- end }} + storage: {{ .Values.size }} + - name: log-volume-template + spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: {{ .Values.logStorageSize }} + podTemplates: + - name: clickhouse-per-host + spec: + affinity: + podAntiAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + - labelSelector: + matchExpressions: + - key: "clickhouse.altinity.com/chi" + operator: In + values: + - "{{ .Release.Name }}" + topologyKey: "kubernetes.io/hostname" + containers: + - name: clickhouse + volumeMounts: + - name: data-volume-template + mountPath: /var/lib/clickhouse + - name: log-volume-template + mountPath: /var/log/clickhouse-server + serviceTemplates: + - name: svc-template + generateName: chendpoint-{chi} + spec: + ports: + - name: http + port: 8123 + - name: tcp + port: 9000 diff --git a/packages/apps/clickhouse/values.schema.json b/packages/apps/clickhouse/values.schema.json index 8a1abab4..502d96b6 100644 --- a/packages/apps/clickhouse/values.schema.json +++ b/packages/apps/clickhouse/values.schema.json @@ -7,6 +7,11 @@ "description": "Persistent Volume size", "default": "10Gi" }, + "logStorageSize": { + "type": "string", + "description": "Persistent Volume for logs size", + "default": "2Gi" + }, "shards": { "type": "number", "description": "Number of Clickhouse replicas", @@ -22,6 +27,11 @@ "description": "StorageClass used to store the data", "default": "" }, + "logTTL": { + "type": "number", + "description": "for query_log and query_thread_log", + "default": 15 + }, "backup": { "type": "object", "properties": { diff --git a/packages/apps/clickhouse/values.yaml b/packages/apps/clickhouse/values.yaml index 8b230e04..18362761 100644 --- a/packages/apps/clickhouse/values.yaml +++ b/packages/apps/clickhouse/values.yaml @@ -1,14 +1,18 @@ ## @section Common parameters ## @param size Persistent Volume size +## @param logStorageSize Persistent Volume for logs size ## @param shards Number of Clickhouse replicas ## @param replicas Number of Clickhouse shards ## @param storageClass StorageClass used to store the data +## @param logTTL for query_log and query_thread_log ## size: 10Gi +logStorageSize: 2Gi shards: 1 replicas: 2 storageClass: "" +logTTL: 15 ## @section Configuration parameters diff --git a/packages/apps/versions_map b/packages/apps/versions_map index bb341c42..2ee27227 100644 --- a/packages/apps/versions_map +++ b/packages/apps/versions_map @@ -4,7 +4,8 @@ clickhouse 0.2.0 7cd7de73 clickhouse 0.2.1 5ca8823 clickhouse 0.3.0 b00621e clickhouse 0.4.0 320fc32 -clickhouse 0.5.0 HEAD +clickhouse 0.5.0 2a4768a5 +clickhouse 0.6.0 HEAD ferretdb 0.1.0 4ffa8615 ferretdb 0.1.1 5ca8823 ferretdb 0.2.0 adaf603 diff --git a/packages/system/clickhouse-operator/values.yaml b/packages/system/clickhouse-operator/values.yaml index c37869b8..287874fc 100644 --- a/packages/system/clickhouse-operator/values.yaml +++ b/packages/system/clickhouse-operator/values.yaml @@ -4,3 +4,7 @@ altinity-clickhouse-operator: config.yaml: watch: namespaces: [".*"] + clickhouse: + configuration: + network: + hostRegexpTemplate: "(chi-{chi}-[^.]+\\d+-\\d+|clickhouse\\-{chi})\\.{namespace}\\.svc\\.cozy\\.local$"