├── clickhouse
├── docker
│ ├── macros.xml
│ ├── run.sh
│ ├── Dockerfile
│ └── config.xml
├── Chart.yaml
├── .helmignore
├── templates
│ ├── service.yaml
│ ├── client.yaml
│ ├── tabix.yaml
│ ├── graphite.yaml
│ ├── statefulset.yaml
│ ├── zookeeper.yaml
│ └── configd.yaml
└── values.yaml
├── sample-schema.sql
└── README.md
/clickhouse/docker/macros.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | shard0
4 | REPLICA_NAME
5 |
6 |
--------------------------------------------------------------------------------
/clickhouse/Chart.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | appVersion: "1.0"
3 | description: ClickHouse Helm Chart
4 | name: clickhouse
5 | version: 0.1.0
6 | maintainers:
7 | - name: Alex Pliutau
8 | email: a.pliutau@gmail.com
9 |
--------------------------------------------------------------------------------
/clickhouse/docker/run.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | NODE_ID=$(echo $(hostname) | awk '{print substr($0,length,1)}')
4 | echo "NODE_ID is $NODE_ID"
5 |
6 | sed -i "s/REPLICA_NAME/replica$NODE_ID/" /etc/clickhouse-server/config.d/macros.xml
7 |
8 | /usr/bin/clickhouse-server --config=${CLICKHOUSE_CONFIG}
--------------------------------------------------------------------------------
/clickhouse/docker/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM yandex/clickhouse-server:18.14
2 |
3 | COPY config.xml /etc/clickhouse-server/config.d/local.xml
4 | COPY macros.xml /etc/clickhouse-server/config.d/macros.xml
5 | COPY run.sh /run.sh
6 |
7 | RUN chown -R clickhouse:clickhouse /etc/clickhouse-server/config.d/
8 | RUN chown clickhouse:clickhouse /run.sh
9 |
10 | CMD [ "/run.sh" ]
--------------------------------------------------------------------------------
/clickhouse/.helmignore:
--------------------------------------------------------------------------------
1 | # Patterns to ignore when building packages.
2 | # This supports shell glob matching, relative path matching, and
3 | # negation (prefixed with !). Only one pattern per line.
4 | .DS_Store
5 | # Common VCS dirs
6 | .git/
7 | .gitignore
8 | .bzr/
9 | .bzrignore
10 | .hg/
11 | .hgignore
12 | .svn/
13 | # Common backup files
14 | *.swp
15 | *.bak
16 | *.tmp
17 | *~
18 | # Various IDEs
19 | .project
20 | .idea/
21 | *.tmproj
22 |
--------------------------------------------------------------------------------
/clickhouse/docker/config.xml:
--------------------------------------------------------------------------------
1 |
2 | 0.0.0.0
3 |
4 |
5 | error
6 |
7 |
8 | 1
9 |
10 |
11 |
12 |
13 | lz4
14 |
15 |
16 |
17 |
18 | /clickhouse/task_queue/ddl
19 |
20 |
--------------------------------------------------------------------------------
/clickhouse/templates/service.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Service
3 | metadata:
4 | name: clickhouse
5 | labels:
6 | app: clickhouse
7 | spec:
8 | type: ClusterIP
9 | ports:
10 | - port: 9000
11 | name: rpc
12 | - port: 8123
13 | name: rest
14 | - port: 9009
15 | name: interserver
16 | clusterIP: None
17 | selector:
18 | app: clickhouse
19 |
20 | {{ if .Values.clickhouse.lb.enabled }}
21 | ---
22 | apiVersion: v1
23 | kind: Service
24 | metadata:
25 | name: clickhouse-lb
26 | spec:
27 | type: LoadBalancer
28 | ports:
29 | - name: rest
30 | port: {{ .Values.clickhouse.lb.restPort }}
31 | targetPort: 8123
32 | - name: rpc
33 | port: {{ .Values.clickhouse.lb.rpcPort }}
34 | targetPort: 9000
35 | selector:
36 | app: clickhouse
37 | {{ end }}
--------------------------------------------------------------------------------
/sample-schema.sql:
--------------------------------------------------------------------------------
1 | USE default;
2 |
3 | CREATE TABLE IF NOT EXISTS clicks_sharded (
4 | date Date DEFAULT toDate(request_time),
5 | request_time DateTime DEFAULT now(),
6 | id String,
7 | advertiser String,
8 | network String,
9 | publisher String,
10 | offer String,
11 | campaign String,
12 | sub_id String,
13 | click_ip String,
14 | referer String,
15 | user_agent String,
16 | device_id String,
17 | country String,
18 | city String,
19 | browser_language String,
20 | campaign_type String,
21 | revenue String,
22 | payout String
23 | ) ENGINE=ReplicatedMergeTree('/clickhouse/tables/{shard}/default/clicks_sharded', '{replica}', date, (date, id), 8192);
24 |
25 | CREATE TABLE IF NOT EXISTS clicks AS clicks_sharded
26 | ENGINE = Distributed( clicks_cluster, default, clicks_sharded , rand() );
--------------------------------------------------------------------------------
/clickhouse/templates/client.yaml:
--------------------------------------------------------------------------------
1 | {{ if .Values.client.enabled }}
2 | apiVersion: v1
3 | kind: Service
4 | metadata:
5 | name: clickhouse-client
6 | labels:
7 | name: clickhouse-client
8 | spec:
9 | clusterIP: None
10 | selector:
11 | app: clickhouse-client
12 | ---
13 | apiVersion: apps/v1
14 | kind: Deployment
15 | metadata:
16 | name: clickhouse-client
17 | spec:
18 | replicas: 1
19 | selector:
20 | matchLabels:
21 | app: clickhouse-client
22 | template:
23 | metadata:
24 | labels:
25 | app: clickhouse-client
26 | spec:
27 | containers:
28 | - name: clickhouse-client
29 | image: yandex/clickhouse-client:latest
30 | command: ["sleep"]
31 | args: ["infinity"]
32 | resources:
33 | limits:
34 | cpu: 25m
35 | memory: 64Mi
36 | requests:
37 | cpu: 25m
38 | memory: 64Mi
39 | {{ end }}
40 |
--------------------------------------------------------------------------------
/clickhouse/templates/tabix.yaml:
--------------------------------------------------------------------------------
1 | {{ if .Values.tabix.enabled }}
2 | apiVersion: apps/v1
3 | kind: Deployment
4 | metadata:
5 | name: tabix
6 | spec:
7 | replicas: 1
8 | selector:
9 | matchLabels:
10 | app: tabix
11 | template:
12 | metadata:
13 | labels:
14 | app: tabix
15 | spec:
16 | containers:
17 | - name: tabix
18 | image: "spoonest/clickhouse-tabix-web-client:latest"
19 | imagePullPolicy: Always
20 | ports:
21 | - containerPort: 80
22 | resources:
23 | limits:
24 | cpu: 125m
25 | memory: 128Mi
26 | requests:
27 | cpu: 125m
28 | memory: 128Mi
29 |
30 | {{ if .Values.tabix.lb.enabled }}
31 | ---
32 | apiVersion: v1
33 | kind: Service
34 | metadata:
35 | name: tabix-lb
36 | spec:
37 | type: LoadBalancer
38 | ports:
39 | - name: ui
40 | port: {{ .Values.tabix.lb.port }}
41 | targetPort: 80
42 | selector:
43 | app: tabix
44 | {{ end }}
45 | {{ end }}
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # ClickHouse Helm Chart
2 |
3 | Fully functioning replicated ClickHouse environment. CLI, Graphite and Tabix UI included. By default there are 2 replicas.
4 |
5 | It's also important to create replicated tables correctly, you may check sample schema in `sample-schema.sql`, which you have to execute on each node (`CREATE` queries are not replicated in ClickHouse).
6 |
7 | ## Run
8 |
9 | ```bash
10 | helm install -f ./clickhouse/values.yaml --name ch --namespace=default ./clickhouse
11 | ```
12 |
13 | ## Client
14 |
15 | Works if `client.enabled` is `true`.
16 |
17 | Log into container:
18 |
19 | ```bash
20 | kubectl exec -it $(kubectl get pod -l app=clickhouse-client -o jsonpath="{.items[0].metadata.name}") -- /bin/bash
21 | ```
22 |
23 | Connect to CH node:
24 |
25 | ```bash
26 | /usr/bin/clickhouse-client --host clickhouse-0.clickhouse
27 | ```
28 |
29 | ## Tabix UI
30 |
31 | Works if `tabix.enabled` is `true`.
32 |
33 | This chart includes [tabix.io](https://tabix.io/) as UI if you need it.
34 |
35 | If LB is eanbled it will be running on localhost:8088
36 |
37 | - name: dev
38 | - `host:port`: `http://localhost:8123`
39 | - login: `reader`
40 | - password: `gFzFTUQ9`
41 | - Enable HTTP Base Auth
42 |
43 | ## Monitoring with Graphite
44 |
45 | Works when `graphite.enabled` is `true`.
46 |
47 | If LB is eanbled it will be running on [http://localhost:8080/dashboard](http://localhost:8080/dashboard)
48 |
49 | ## Users
50 |
51 | - writer / 2c82mirS
52 | - reader / gFzFTUQ9
53 |
54 | ## Build Docker image
55 |
56 | ```bash
57 | docker build -t clickhouse-server ./clickhouse/docker
58 | ```
59 |
60 | ## Purge
61 |
62 | ```bash
63 | helm del --purge ch
64 | ```
65 |
66 | Don't forget to delete ClickHouse and Zookeeper PVCs.
--------------------------------------------------------------------------------
/clickhouse/templates/graphite.yaml:
--------------------------------------------------------------------------------
1 | {{ if .Values.graphite.enabled }}
2 | apiVersion: apps/v1
3 | kind: StatefulSet
4 | metadata:
5 | name: graphite
6 | spec:
7 | replicas: 1
8 | serviceName: graphite
9 | selector:
10 | matchLabels:
11 | app: graphite
12 | template:
13 | metadata:
14 | labels:
15 | app: graphite
16 | annotations:
17 | pod.alpha.kubernetes.io/initialized: "true"
18 | spec:
19 | containers:
20 | - image: "graphiteapp/graphite-statsd:latest"
21 | name: graphite
22 | imagePullPolicy: Always
23 | ports:
24 | - name: graphite-gui
25 | containerPort: 8080
26 | - name: graphite-plain
27 | containerPort: 2003
28 | - name: graphite-pickle
29 | containerPort: 2004
30 | - name: aggregate-plain
31 | containerPort: 2023
32 | - name: aggregate-pickl
33 | containerPort: 2024
34 | - name: statsd
35 | protocol: UDP
36 | containerPort: 8125
37 | - name: statsd-admin
38 | containerPort: 8126
39 | resources:
40 | limits:
41 | cpu: 125m
42 | memory: 512Mi
43 | requests:
44 | cpu: 125m
45 | memory: 512Mi
46 | ---
47 | apiVersion: v1
48 | kind: Service
49 | metadata:
50 | name: graphite
51 | labels:
52 | app: graphite
53 | spec:
54 | type: ClusterIP
55 | ports:
56 | - name: graphite-pickle
57 | port: 2004
58 | protocol: TCP
59 | - name: graphite-plain
60 | port: 2003
61 | protocol: TCP
62 | - name: graphite-gui
63 | port: 8080
64 | protocol: TCP
65 | - name: aggregate-plain
66 | port: 2023
67 | protocol: TCP
68 | - name: aggregate-pickl
69 | port: 2024
70 | protocol: TCP
71 | - name: statsd
72 | port: 8125
73 | protocol: UDP
74 | - name: statsd-admin
75 | port: 8126
76 | protocol: TCP
77 | clusterIP: None
78 | selector:
79 | app: graphite
80 |
81 | {{ if .Values.graphite.lb.enabled }}
82 | ---
83 | apiVersion: v1
84 | kind: Service
85 | metadata:
86 | name: graphite-lb
87 | spec:
88 | type: LoadBalancer
89 | ports:
90 | - name: gui
91 | port: {{ .Values.graphite.lb.port }}
92 | targetPort: 8080
93 | - name: aggregate-plain
94 | port: 2003
95 | targetPort: 2003
96 | selector:
97 | app: graphite
98 | {{ end }}
99 |
100 | {{ end }}
--------------------------------------------------------------------------------
/clickhouse/templates/statefulset.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: apps/v1
2 | kind: StatefulSet
3 | metadata:
4 | name: clickhouse
5 | spec:
6 | replicas: {{ .Values.clickhouse.replicaCount }}
7 | serviceName: clickhouse
8 | selector:
9 | matchLabels:
10 | app: clickhouse
11 | template:
12 | metadata:
13 | labels:
14 | app: clickhouse
15 | annotations:
16 | pod.alpha.kubernetes.io/initialized: "true"
17 | spec:
18 | {{- if .Values.clickhouse.affinity }}
19 | affinity:
20 | {{ toYaml .Values.clickhouse.affinity | indent 8 }}
21 | {{- end -}}
22 | {{- if .Values.clickhouse.nodeSelector }}
23 | nodeSelector:
24 | {{ toYaml .Values.clickhouse.nodeSelector | indent 8 }}
25 | {{- end }}
26 | {{- if .Values.clickhouse.tolerations }}
27 | tolerations:
28 | {{ toYaml .Values.clickhouse.tolerations | indent 8 }}
29 | {{- end }}
30 | volumes:
31 | - name: clickhouse-configd
32 | configMap:
33 | name: clickhouse-configd
34 | containers:
35 | - name: clickhouse-server
36 | image: "{{ .Values.clickhouse.repository }}:{{ .Values.clickhouse.tag }}"
37 | imagePullPolicy: {{ .Values.clickhouse.pullPolicy }}
38 | terminationMessagePath: "/var/log/clickhouse-server/clickhouse-server.err.log"
39 | ports:
40 | - name: rpc
41 | containerPort: 9000
42 | protocol: TCP
43 | - name: rest
44 | containerPort: 8123
45 | protocol: TCP
46 | - name: interserver
47 | containerPort: 9009
48 | protocol: TCP
49 | volumeMounts:
50 | - name: clickhouse-data
51 | mountPath: {{ .Values.clickhouse.persistence.mountPath }}
52 | - name: clickhouse-configd
53 | mountPath: /etc/clickhouse-server/config.d/remote_servers.xml
54 | subPath: remote_servers.xml
55 | - name: clickhouse-configd
56 | mountPath: /etc/clickhouse-server/config.d/zookeeper.xml
57 | subPath: zookeeper.xml
58 | - name: clickhouse-configd
59 | mountPath: /etc/clickhouse-server/config.d/graphite.xml
60 | subPath: graphite.xml
61 | - name: clickhouse-configd
62 | mountPath: /etc/clickhouse-server/users.d
63 | resources:
64 | {{ toYaml .Values.clickhouse.resources | indent 12 }}
65 |
66 | volumeClaimTemplates:
67 | - metadata:
68 | name: clickhouse-data
69 | spec:
70 | accessModes:
71 | {{- range .Values.clickhouse.persistence.accessModes }}
72 | - {{ . | quote }}
73 | {{- end }}
74 | resources:
75 | requests:
76 | storage: {{ .Values.clickhouse.persistence.size }}
77 |
--------------------------------------------------------------------------------
/clickhouse/values.yaml:
--------------------------------------------------------------------------------
1 | clusterDNS: default.svc.cluster.local
2 |
3 | clickhouse:
4 | replicaCount: 2
5 | repository: pltvs/clickhouse-server
6 | tag: latest
7 | pullPolicy: Always
8 | writerPass: 2c82mirS
9 | readerPass: gFzFTUQ9
10 |
11 | lb:
12 | enabled: false
13 | restPort: 8123
14 | rpcPort: 9000
15 |
16 | resources:
17 | limits:
18 | cpu: 125m
19 | memory: 256Mi
20 | requests:
21 | cpu: 125m
22 | memory: 256Mi
23 |
24 | ## Enable persistence using Persistent Volume Claims
25 | ## ref: http://kubernetes.io/docs/user-guide/persistent-volumes/
26 | ##
27 | persistence:
28 | ## The path the volume will be mounted at
29 | mountPath: /var/lib/clickhouse
30 |
31 | ## Persistent Volume Storage Class
32 | ## If defined, storageClassName:
33 | ## If set to "-", storageClassName: "", which disables dynamic provisioning
34 | ## If undefined (the default) or set to null, no storageClassName spec is
35 | ## set, choosing the default provisioner. (gp2 on AWS, standard on
36 | ## GKE, AWS & OpenStack)
37 | # storageClass: "ssd"
38 | accessModes:
39 | - ReadWriteOnce
40 | size: 1Gi
41 |
42 | ## Node selector
43 | ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector
44 | nodeSelector: {}
45 |
46 | ## Affinity
47 | ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
48 | affinity: {}
49 |
50 | ## Tolerations
51 | ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
52 | tolerations: []
53 |
54 | # deploys clickhouse-client
55 | client:
56 | enabled: true
57 |
58 | # zookeeper
59 | zookeeper:
60 | repository: gcr.io/google_samples/k8szk
61 | tag: v1
62 | replicaCount: 2
63 |
64 | resources:
65 | limits:
66 | cpu: 125m
67 | memory: 256Mi
68 | requests:
69 | cpu: 125m
70 | memory: 256Mi
71 |
72 | ## Enable persistence using Persistent Volume Claims
73 | ## ref: http://kubernetes.io/docs/user-guide/persistent-volumes/
74 | ##
75 | persistence:
76 | ## The path the volume will be mounted at
77 | mountPath: /var/lib/zookeeper
78 |
79 | ## Persistent Volume Storage Class
80 | ## If defined, storageClassName:
81 | ## If set to "-", storageClassName: "", which disables dynamic provisioning
82 | ## If undefined (the default) or set to null, no storageClassName spec is
83 | ## set, choosing the default provisioner. (gp2 on AWS, standard on
84 | ## GKE, AWS & OpenStack)
85 | # storageClass: "ssd"
86 | accessModes:
87 | - ReadWriteOnce
88 | size: 1Gi
89 |
90 | ## Node selector
91 | ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector
92 | nodeSelector: {}
93 |
94 | ## Affinity
95 | ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
96 | affinity: {}
97 |
98 | ## Tolerations
99 | ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
100 | tolerations: []
101 |
102 | # tabix.io web UI
103 | tabix:
104 | enabled: false
105 | lb:
106 | enabled: false
107 | port: 8088
108 |
109 | # monitoring with graphite
110 | graphite:
111 | enabled: false
112 | lb:
113 | enabled: false
114 | port: 8080
115 |
--------------------------------------------------------------------------------
/clickhouse/templates/zookeeper.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Service
3 | metadata:
4 | name: zk
5 | spec:
6 | type: ClusterIP
7 | ports:
8 | - port: 2888
9 | name: server
10 | - port: 3888
11 | name: leader-election
12 | clusterIP: None
13 | selector:
14 | app: zk
15 | ---
16 | apiVersion: apps/v1
17 | kind: StatefulSet
18 | metadata:
19 | name: zk
20 | spec:
21 | serviceName: zk
22 | replicas: {{ .Values.zookeeper.replicaCount }}
23 | selector:
24 | matchLabels:
25 | app: zk
26 | template:
27 | metadata:
28 | labels:
29 | app: zk
30 | annotations:
31 | pod.alpha.kubernetes.io/initialized: "true"
32 | spec:
33 | {{- if .Values.zookeeper.affinity }}
34 | affinity:
35 | {{ toYaml .Values.zookeeper.affinity | indent 8 }}
36 | {{- end -}}
37 | {{- if .Values.zookeeper.nodeSelector }}
38 | nodeSelector:
39 | {{ toYaml .Values.zookeeper.nodeSelector | indent 8 }}
40 | {{- end }}
41 | {{- if .Values.zookeeper.tolerations }}
42 | tolerations:
43 | {{ toYaml .Values.zookeeper.tolerations | indent 8 }}
44 | {{- end }}
45 | containers:
46 | - name: k8szk
47 | imagePullPolicy: Always
48 | image: "{{ .Values.zookeeper.repository }}:{{ .Values.zookeeper.tag }}"
49 | ports:
50 | - containerPort: 2181
51 | name: client
52 | - containerPort: 2888
53 | name: server
54 | - containerPort: 3888
55 | name: leader-election
56 | env:
57 | - name : ZK_ENSEMBLE
58 | value: "{{range $i, $e := until (atoi (printf "%d" (int64 .Values.zookeeper.replicaCount))) }}zk-{{$i}};{{end}}"
59 | - name : ZK_HEAP_SIZE
60 | value: "512M"
61 | - name : ZK_TICK_TIME
62 | value: "2000"
63 | - name : ZK_INIT_LIMIT
64 | value: "10"
65 | - name : ZK_SYNC_LIMIT
66 | value: "5"
67 | - name : ZK_MAX_CLIENT_CNXNS
68 | value: "60"
69 | - name: ZK_SNAP_RETAIN_COUNT
70 | value: "30"
71 | - name: ZK_PURGE_INTERVAL
72 | value: "1"
73 | - name: ZK_CLIENT_PORT
74 | value: "2181"
75 | - name: ZK_SERVER_PORT
76 | value: "2888"
77 | - name: ZK_ELECTION_PORT
78 | value: "3888"
79 | command:
80 | - sh
81 | - -c
82 | - zkGenConfig.sh && zkServer.sh start-foreground
83 | readinessProbe:
84 | exec:
85 | command:
86 | - "zkOk.sh"
87 | initialDelaySeconds: 15
88 | timeoutSeconds: 5
89 | livenessProbe:
90 | exec:
91 | command:
92 | - "zkOk.sh"
93 | initialDelaySeconds: 15
94 | timeoutSeconds: 5
95 | volumeMounts:
96 | - name: zookeeper-data
97 | mountPath: {{ .Values.zookeeper.persistence.mountPath }}
98 | resources:
99 | {{ toYaml .Values.zookeeper.resources | indent 12 }}
100 | securityContext:
101 | runAsUser: 1000
102 | fsGroup: 1000
103 |
104 | volumeClaimTemplates:
105 | - metadata:
106 | name: zookeeper-data
107 | spec:
108 | accessModes:
109 | {{- range .Values.zookeeper.persistence.accessModes }}
110 | - {{ . | quote }}
111 | {{- end }}
112 | resources:
113 | requests:
114 | storage: {{ .Values.zookeeper.persistence.size }}
115 |
--------------------------------------------------------------------------------
/clickhouse/templates/configd.yaml:
--------------------------------------------------------------------------------
1 | {{- $root := . -}}
2 | apiVersion: v1
3 | kind: ConfigMap
4 | metadata:
5 | name: clickhouse-configd
6 | labels:
7 | app: clickhouse-configd
8 | data:
9 | remote_servers.xml: |-
10 |
11 |
12 |
13 |
14 | true
15 | {{range $i, $e := until (atoi (printf "%d" (int64 .Values.clickhouse.replicaCount))) }}
16 |
17 | default
18 | clickhouse-{{$i}}.clickhouse.{{ $root.Values.clusterDNS }}
19 | 9000
20 |
21 | {{end}}
22 |
23 |
24 |
25 |
26 | zookeeper.xml: |-
27 |
28 |
29 | {{range $i, $zk := until (atoi (printf "%d" (int64 .Values.zookeeper.replicaCount))) }}
30 |
31 | zk-{{$i}}.zk.{{ $root.Values.clusterDNS }}
32 | 2181
33 |
34 | {{end}}
35 |
36 |
37 | graphite.xml: |-
38 |
39 | {{ if .Values.graphite.enabled }}
40 |
41 | graphite-lb.{{ .Values.clusterDNS }}
42 | 2003
43 | 0.1
44 | 60
45 | one_min_cr_plain
46 |
47 | true
48 | true
49 | true
50 |
51 |
52 | graphite-lb.{{ .Values.clusterDNS }}
53 | 2003
54 | 0.1
55 | 1
56 | one_sec_cr_plain
57 |
58 | true
59 | true
60 | false
61 |
62 | {{ end }}
63 |
64 | users.xml: |-
65 |
66 |
67 |
68 | 10000000000
69 | 0
70 | random
71 |
72 |
73 | 10000000000
74 | 0
75 | random
76 | 1
77 |
78 |
79 |
80 |
81 | {{ .Values.clickhouse.writerPass }}
82 | writer
83 | default
84 |
85 | ::/0
86 |
87 |
88 |
89 | {{ .Values.clickhouse.readerPass }}
90 | reader
91 | default
92 |
93 | default
94 | system
95 |
96 |
97 | ::/0
98 |
99 |
100 |
101 |
102 |
103 |
104 | 3600
105 | 0
106 | 0
107 | 0
108 | 0
109 | 0
110 |
111 |
112 |
113 |
--------------------------------------------------------------------------------