blob: 2fc368f04ff77b7301b2f629a39f69bf4a917233 [file] [log] [blame]
Suresh Charane1a70a12022-01-13 06:56:53 -05001# Copyright © 2022 Amdocs, Bell Canada, AT&T, Bitnami
prpatelafedf2c2018-09-07 15:28:38 +00002#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7# http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14
15# Default values for cassandra.
16# This is a YAML-formatted file.
17# Declare variables to be passed into your templates.
18global: # global defaults
19 nodePortPrefix: 302
Akansha Dua7b6e1982019-09-04 13:36:12 +000020 persistence:
21 mountPath: /dockerdata-nfs
22 backup:
23 mountPath: /dockerdata-nfs/backup
Andreas Geisslercfd84342023-08-16 17:18:49 +020024 cassandra:
25 # flag to enable the DB creation via k8ssandra-operator
26 useOperator: true
27 # if useOperator set to "true", set "enableServiceAccount to "false"
28 # as the SA is created by the Operator
29 enableServiceAccount: false
prpatelafedf2c2018-09-07 15:28:38 +000030
dasarathi52802465e8f782023-05-03 09:51:20 +000031k8ssandraOperator:
Andreas Geisslerc4851c82024-02-23 09:06:17 +010032 cassandraVersion: 4.1.3
dasarathi52802465e8f782023-05-03 09:51:20 +000033 persistence:
Andreas Geissler7e14d242023-07-17 17:25:07 +020034 #storageClassName: default
dasarathi52802465e8f782023-05-03 09:51:20 +000035 size: 10Gi
36 config:
37 clusterName: cassandra
38 secretName: &secretName cassandra-default-user
39 superuserName: &superusername cassandra
40 superuserPassword: &superuserpassword cassandra
41 casOptions:
42 authorizer: AllowAllAuthorizer
Andreas Geisslerc4851c82024-02-23 09:06:17 +010043 write_request_timeout: 10000ms
44 counter_write_request_timeout: 15000ms
dasarathi52802465e8f782023-05-03 09:51:20 +000045 jvmOptions:
Andreas Geissler891eeb72023-10-12 13:10:53 +020046 heap_initial_size: 512M
47 heap_max_size: 4096M
dasarathi52802465e8f782023-05-03 09:51:20 +000048 hostNetwork: false
49 datacenters:
50 - name: dc1
51 size: 3
Andreas Geisslerb0530252023-11-10 11:28:49 +010052 reaper:
53 enabled: true
dasarathi52802465e8f782023-05-03 09:51:20 +000054 stargate:
Andreas Geisslerc4851c82024-02-23 09:06:17 +010055 enabled: false
56 tag: v1.0.77
dasarathi52802465e8f782023-05-03 09:51:20 +000057 size: 1
58 jvmOptions:
59 heapSize: 384Mi
60
61#################################################################
62# Secrets metaconfig
63# used to store the default superuser for k8ssandra-operator
64#################################################################
65secrets:
66 - uid: *secretName
67 type: genericKV
68 externalSecret: '{{ tpl (default "" .Values.k8ssandraOperator.config.userCredentialsExternalSecret) . }}'
69 envs:
70 - name: username
71 value: *superusername
72 - name: password
73 value: *superuserpassword
74
75ingress:
76 enabled: false
77 service:
78 - baseaddr: "reaper-dc1"
79 path: "/webui"
80 name: "cassandra-dc1-reaper-service"
81 port: 8080
82
prpatelafedf2c2018-09-07 15:28:38 +000083# application image
Sylvain Desbureaux7743d8b2020-11-19 16:45:23 +010084image: cassandra:3.11.4
prpatelafedf2c2018-09-07 15:28:38 +000085pullPolicy: Always
86
87# flag to enable debugging - application support required
88debugEnabled: false
89
prpatelafedf2c2018-09-07 15:28:38 +000090# application configuration
91config:
Mahendra Raghuwanshif59d9252019-02-20 06:54:46 +000092 cluster_domain: cluster.local
prpatelafedf2c2018-09-07 15:28:38 +000093 heap:
Michal Jagiello9a3395b2022-06-07 08:38:50 +000094 max: 4096M
95 min: 200M
prpatelafedf2c2018-09-07 15:28:38 +000096 jvmOpts: -Dcassandra.consistent.rangemovement=false
97 clusterName: cassandra
98 dataCenter: Pod
99 rackName: Rack
100 autoBootstrap: true
Mahendra Raghuwanshif59d9252019-02-20 06:54:46 +0000101 # If hostNetwork is true then provide the comma separated list of seeds.
102 #seeds:seed1,seed2
prpatelafedf2c2018-09-07 15:28:38 +0000103
104# default number of instances
Mahendra Raghuwanshif59d9252019-02-20 06:54:46 +0000105replicaCount: 3
106
107hostNetwork: false
prpatelafedf2c2018-09-07 15:28:38 +0000108
109nodeSelector: {}
110
111affinity: {}
112
113# probe configuration parameters
114liveness:
Sylvain Desbureauxe7616c32021-05-05 10:47:58 +0200115 initialDelaySeconds: 1
116 periodSeconds: 10
Sylvain Desbureaux276c3d92021-02-22 16:23:04 +0100117 timeoutSeconds: 10
Mahendra Raghuwanshif59d9252019-02-20 06:54:46 +0000118 successThreshold: 1
119 failureThreshold: 3
prpatelafedf2c2018-09-07 15:28:38 +0000120 # necessary to disable liveness probe when setting breakpoints
121 # in debugger so K8s doesn't restart unresponsive container
122 enabled: true
123
124readiness:
Sylvain Desbureauxe7616c32021-05-05 10:47:58 +0200125 initialDelaySeconds: 1
126 periodSeconds: 10
Sylvain Desbureaux276c3d92021-02-22 16:23:04 +0100127 timeoutSeconds: 10
Mahendra Raghuwanshif59d9252019-02-20 06:54:46 +0000128 successThreshold: 1
129 failureThreshold: 3
prpatelafedf2c2018-09-07 15:28:38 +0000130
Sylvain Desbureauxe7616c32021-05-05 10:47:58 +0200131startup:
132 initialDelaySeconds: 10
133 periodSeconds: 10
134 timeoutSeconds: 10
135 successThreshold: 1
136 failureThreshold: 90
137
prpatelafedf2c2018-09-07 15:28:38 +0000138service:
prpatelafedf2c2018-09-07 15:28:38 +0000139 name: cassandra
Sylvain Desbureaux60c74802019-12-12 14:35:01 +0100140 headless:
141 suffix: ""
142 annotations:
143 service.alpha.kubernetes.io/tolerate-unready-endpoints: "true"
144 publishNotReadyAddresses: true
145 headlessPorts:
146 - name: tcp-intra
Mahendra Raghuwanshif59d9252019-02-20 06:54:46 +0000147 port: 7000
148 - name: tls
149 port: 7001
Sylvain Desbureaux60c74802019-12-12 14:35:01 +0100150 - name: tcp-jmx
Mahendra Raghuwanshif59d9252019-02-20 06:54:46 +0000151 port: 7199
Sylvain Desbureaux60c74802019-12-12 14:35:01 +0100152 - name: tcp-cql
Mahendra Raghuwanshif59d9252019-02-20 06:54:46 +0000153 port: 9042
shrek2000f336f6d2020-02-25 16:11:26 +0200154 ## thrift protocol is deprecated . Should be removed. Being left until all project removes it.
Sylvain Desbureaux60c74802019-12-12 14:35:01 +0100155 - name: tcp-thrift
Mahendra Raghuwanshif59d9252019-02-20 06:54:46 +0000156 port: 9160
Sylvain Desbureaux60c74802019-12-12 14:35:01 +0100157 - name: tcp-agent
Mahendra Raghuwanshif59d9252019-02-20 06:54:46 +0000158 port: 61621
prpatelafedf2c2018-09-07 15:28:38 +0000159
Andreas Geissler904b8912022-07-13 11:51:58 +0200160podAnnotations:
161 # sidecar.istio.io/inject: "false"
162 traffic.sidecar.istio.io/excludeInboundPorts: "7000,7001"
163 traffic.sidecar.istio.io/includeInboundPorts: '*'
164 traffic.sidecar.istio.io/excludeOutboundPorts: "7000,7001"
Andreas Geisslerbc550dc2023-06-26 17:09:35 +0200165 prometheus.io/scrape: 'true'
166 prometheus.io/port: '8080'
167
prpatelafedf2c2018-09-07 15:28:38 +0000168podManagementPolicy: OrderedReady
169updateStrategy:
Mahendra Raghuwanshif59d9252019-02-20 06:54:46 +0000170 type: RollingUpdate
prpatelafedf2c2018-09-07 15:28:38 +0000171
prpatelafedf2c2018-09-07 15:28:38 +0000172persistence:
173 enabled: true
174
175 ## A manually managed Persistent Volume and Claim
176 ## Requires persistence.enabled: true
177 ## If defined, PVC must be created manually before volume will be bound
178 # existingClaim:
179 volumeReclaimPolicy: Retain
180
181 ## database data Persistent Volume Storage Class
182 ## If defined, storageClassName: <storageClass>
183 ## If set to "-", storageClassName: "", which disables dynamic provisioning
184 ## If undefined (the default) or set to null, no storageClassName spec is
185 ## set, choosing the default provisioner. (gp2 on AWS, standard on
186 ## GKE, AWS & OpenStack)
187 ##
188 ## storageClass: "-"
Sylvain Desbureauxb7ed2ee2019-11-29 11:35:13 +0100189 ## Not set as it depends of the backup enabledment or not.
Sylvain Desbureaux60c74802019-12-12 14:35:01 +0100190 accessMode: ReadWriteOnce
Sylvain Desbureaux13585872021-05-07 08:18:53 +0200191 size: 10Gi
prpatelafedf2c2018-09-07 15:28:38 +0000192 mountPath: /dockerdata-nfs
193 mountSubPath: cassandra
194 storageType: local
Akansha Dua7b6e1982019-09-04 13:36:12 +0000195 backup:
196 mountPath: /dockerdata-nfs/backup
prpatelafedf2c2018-09-07 15:28:38 +0000197
Mahendra Raghuwanshif59d9252019-02-20 06:54:46 +0000198configOverrides: {}
prpatelafedf2c2018-09-07 15:28:38 +0000199
Sylvain Desbureaux77c848a2020-09-23 14:21:30 +0200200# resources: {}
prpatelafedf2c2018-09-07 15:28:38 +0000201 # We usually recommend not to specify default resources and to leave this as a conscious
202 # choice for the user. This also increases chances charts run on environments with little
203 # resources, such as Minikube. If you do want to specify resources, uncomment the following
204 # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
205 #
206 # Example:
207 # Configure resource requests and limits
208 # ref: http://kubernetes.io/docs/user-guide/compute-resources/
209 # Minimum memory for development is 2 CPU cores and 4GB memory
210 # Minimum memory for production is 4 CPU cores and 8GB memory
Sylvain Desbureaux77c848a2020-09-23 14:21:30 +0200211resources:
212 limits:
Andreas Geissler47537432024-02-27 08:55:23 +0100213 cpu: "2"
214 memory: "8Gi"
Sylvain Desbureaux77c848a2020-09-23 14:21:30 +0200215 requests:
Andreas Geissler47537432024-02-27 08:55:23 +0100216 cpu: "0.2"
217 memory: "2.5Gi"
Akansha Dua7b6e1982019-09-04 13:36:12 +0000218backup:
219 enabled: false
220 cron: "00 00 * * *"
221 retentionPeriod: 3
222 dbSize: 1
223 keyspacesToSkip:
224 - name: system_traces
225 - name: system_auth
226 - name: system_distributed
farida azmy661c81a2021-03-09 11:38:20 +0200227
228#Pods Service Account
229serviceAccount:
230 nameOverride: cassandra
231 roles:
232 - nothing
Suresh Charane1a70a12022-01-13 06:56:53 -0500233
234# Cassandra Metrics
235metrics:
236 enabled: false
237 image: bitnami/cassandra-exporter:2.3.4-debian-10-r641
238 pullPolicy: IfNotPresent
239 ports:
240 - name: tcp-metrics
241 port: 8080
242 podAnnotations:
243 prometheus.io/scrape: 'true'
244 prometheus.io/port: '8080'
245 livenessProbe:
246 enabled: true
247 httpGet:
248 path: /metrics
249 port: 8080
250 initialDelaySeconds: 30
251 periodSeconds: 10
252 timeoutSeconds: 5
253 successThreshold: 1
254 failureThreshold: 3
255 readinessProbe:
256 httpGet:
257 path: /metrics
258 port: 8080
259 enabled: true
260 initialDelaySeconds: 5
261 periodSeconds: 10
262 timeoutSeconds: 5
263 successThreshold: 1
264 failureThreshold: 3
265 serviceMonitor:
266 enabled: false
267 targetPort: 8080
268 path: /metrics
269 basicAuth:
270 enabled: false
271 ## Namespace in which Prometheus is running
272 ##
273 # namespace: monitoring
274
275 ## Interval at which metrics should be scraped.
276 #interval: 30s
277
278 ## Timeout after which the scrape is ended
279 # scrapeTimeout: 10s
280
281 ## ServiceMonitor selector labels
282 selector:
283 app.kubernetes.io/name: '{{ include "common.name" . }}'
284 helm.sh/chart: '{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}'
285 app.kubernetes.io/instance: '{{ include "common.release" . }}'
286 app.kubernetes.io/managed-by: '{{ .Release.Service }}'
287
288 ## RelabelConfigs to apply to samples before scraping
289 relabelings: []
290
291 ## MetricRelabelConfigs to apply to samples before ingestion
292 metricRelabelings: []