blob: 205c7113df7e26632decd413c16d8a805e1a6983 [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 Geisslerb0530252023-11-10 11:28:49 +010032 cassandraVersion: 4.0.10
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
43 jvmOptions:
Andreas Geissler891eeb72023-10-12 13:10:53 +020044 heap_initial_size: 512M
45 heap_max_size: 4096M
dasarathi52802465e8f782023-05-03 09:51:20 +000046 hostNetwork: false
47 datacenters:
48 - name: dc1
49 size: 3
Andreas Geisslerb0530252023-11-10 11:28:49 +010050 reaper:
51 enabled: true
dasarathi52802465e8f782023-05-03 09:51:20 +000052 stargate:
Andreas Geisslerb0530252023-11-10 11:28:49 +010053 enabled: true
dasarathi52802465e8f782023-05-03 09:51:20 +000054 tag: v1.0.76
55 size: 1
56 jvmOptions:
57 heapSize: 384Mi
58
59#################################################################
60# Secrets metaconfig
61# used to store the default superuser for k8ssandra-operator
62#################################################################
63secrets:
64 - uid: *secretName
65 type: genericKV
66 externalSecret: '{{ tpl (default "" .Values.k8ssandraOperator.config.userCredentialsExternalSecret) . }}'
67 envs:
68 - name: username
69 value: *superusername
70 - name: password
71 value: *superuserpassword
72
73ingress:
74 enabled: false
75 service:
76 - baseaddr: "reaper-dc1"
77 path: "/webui"
78 name: "cassandra-dc1-reaper-service"
79 port: 8080
80
prpatelafedf2c2018-09-07 15:28:38 +000081# application image
Sylvain Desbureaux7743d8b2020-11-19 16:45:23 +010082image: cassandra:3.11.4
prpatelafedf2c2018-09-07 15:28:38 +000083pullPolicy: Always
84
85# flag to enable debugging - application support required
86debugEnabled: false
87
prpatelafedf2c2018-09-07 15:28:38 +000088# application configuration
89config:
Mahendra Raghuwanshif59d9252019-02-20 06:54:46 +000090 cluster_domain: cluster.local
prpatelafedf2c2018-09-07 15:28:38 +000091 heap:
Michal Jagiello9a3395b2022-06-07 08:38:50 +000092 max: 4096M
93 min: 200M
prpatelafedf2c2018-09-07 15:28:38 +000094 jvmOpts: -Dcassandra.consistent.rangemovement=false
95 clusterName: cassandra
96 dataCenter: Pod
97 rackName: Rack
98 autoBootstrap: true
Mahendra Raghuwanshif59d9252019-02-20 06:54:46 +000099 # If hostNetwork is true then provide the comma separated list of seeds.
100 #seeds:seed1,seed2
prpatelafedf2c2018-09-07 15:28:38 +0000101
102# default number of instances
Mahendra Raghuwanshif59d9252019-02-20 06:54:46 +0000103replicaCount: 3
104
105hostNetwork: false
prpatelafedf2c2018-09-07 15:28:38 +0000106
107nodeSelector: {}
108
109affinity: {}
110
111# probe configuration parameters
112liveness:
Sylvain Desbureauxe7616c32021-05-05 10:47:58 +0200113 initialDelaySeconds: 1
114 periodSeconds: 10
Sylvain Desbureaux276c3d92021-02-22 16:23:04 +0100115 timeoutSeconds: 10
Mahendra Raghuwanshif59d9252019-02-20 06:54:46 +0000116 successThreshold: 1
117 failureThreshold: 3
prpatelafedf2c2018-09-07 15:28:38 +0000118 # necessary to disable liveness probe when setting breakpoints
119 # in debugger so K8s doesn't restart unresponsive container
120 enabled: true
121
122readiness:
Sylvain Desbureauxe7616c32021-05-05 10:47:58 +0200123 initialDelaySeconds: 1
124 periodSeconds: 10
Sylvain Desbureaux276c3d92021-02-22 16:23:04 +0100125 timeoutSeconds: 10
Mahendra Raghuwanshif59d9252019-02-20 06:54:46 +0000126 successThreshold: 1
127 failureThreshold: 3
prpatelafedf2c2018-09-07 15:28:38 +0000128
Sylvain Desbureauxe7616c32021-05-05 10:47:58 +0200129startup:
130 initialDelaySeconds: 10
131 periodSeconds: 10
132 timeoutSeconds: 10
133 successThreshold: 1
134 failureThreshold: 90
135
prpatelafedf2c2018-09-07 15:28:38 +0000136service:
prpatelafedf2c2018-09-07 15:28:38 +0000137 name: cassandra
Sylvain Desbureaux60c74802019-12-12 14:35:01 +0100138 headless:
139 suffix: ""
140 annotations:
141 service.alpha.kubernetes.io/tolerate-unready-endpoints: "true"
142 publishNotReadyAddresses: true
143 headlessPorts:
144 - name: tcp-intra
Mahendra Raghuwanshif59d9252019-02-20 06:54:46 +0000145 port: 7000
146 - name: tls
147 port: 7001
Sylvain Desbureaux60c74802019-12-12 14:35:01 +0100148 - name: tcp-jmx
Mahendra Raghuwanshif59d9252019-02-20 06:54:46 +0000149 port: 7199
Sylvain Desbureaux60c74802019-12-12 14:35:01 +0100150 - name: tcp-cql
Mahendra Raghuwanshif59d9252019-02-20 06:54:46 +0000151 port: 9042
shrek2000f336f6d2020-02-25 16:11:26 +0200152 ## thrift protocol is deprecated . Should be removed. Being left until all project removes it.
Sylvain Desbureaux60c74802019-12-12 14:35:01 +0100153 - name: tcp-thrift
Mahendra Raghuwanshif59d9252019-02-20 06:54:46 +0000154 port: 9160
Sylvain Desbureaux60c74802019-12-12 14:35:01 +0100155 - name: tcp-agent
Mahendra Raghuwanshif59d9252019-02-20 06:54:46 +0000156 port: 61621
prpatelafedf2c2018-09-07 15:28:38 +0000157
Andreas Geissler904b8912022-07-13 11:51:58 +0200158podAnnotations:
159 # sidecar.istio.io/inject: "false"
160 traffic.sidecar.istio.io/excludeInboundPorts: "7000,7001"
161 traffic.sidecar.istio.io/includeInboundPorts: '*'
162 traffic.sidecar.istio.io/excludeOutboundPorts: "7000,7001"
Andreas Geisslerbc550dc2023-06-26 17:09:35 +0200163 prometheus.io/scrape: 'true'
164 prometheus.io/port: '8080'
165
prpatelafedf2c2018-09-07 15:28:38 +0000166podManagementPolicy: OrderedReady
167updateStrategy:
Mahendra Raghuwanshif59d9252019-02-20 06:54:46 +0000168 type: RollingUpdate
prpatelafedf2c2018-09-07 15:28:38 +0000169
prpatelafedf2c2018-09-07 15:28:38 +0000170persistence:
171 enabled: true
172
173 ## A manually managed Persistent Volume and Claim
174 ## Requires persistence.enabled: true
175 ## If defined, PVC must be created manually before volume will be bound
176 # existingClaim:
177 volumeReclaimPolicy: Retain
178
179 ## database data Persistent Volume Storage Class
180 ## If defined, storageClassName: <storageClass>
181 ## If set to "-", storageClassName: "", which disables dynamic provisioning
182 ## If undefined (the default) or set to null, no storageClassName spec is
183 ## set, choosing the default provisioner. (gp2 on AWS, standard on
184 ## GKE, AWS & OpenStack)
185 ##
186 ## storageClass: "-"
Sylvain Desbureauxb7ed2ee2019-11-29 11:35:13 +0100187 ## Not set as it depends of the backup enabledment or not.
Sylvain Desbureaux60c74802019-12-12 14:35:01 +0100188 accessMode: ReadWriteOnce
Sylvain Desbureaux13585872021-05-07 08:18:53 +0200189 size: 10Gi
prpatelafedf2c2018-09-07 15:28:38 +0000190 mountPath: /dockerdata-nfs
191 mountSubPath: cassandra
192 storageType: local
Akansha Dua7b6e1982019-09-04 13:36:12 +0000193 backup:
194 mountPath: /dockerdata-nfs/backup
prpatelafedf2c2018-09-07 15:28:38 +0000195
Mahendra Raghuwanshif59d9252019-02-20 06:54:46 +0000196configOverrides: {}
prpatelafedf2c2018-09-07 15:28:38 +0000197
Sylvain Desbureaux77c848a2020-09-23 14:21:30 +0200198# resources: {}
prpatelafedf2c2018-09-07 15:28:38 +0000199 # We usually recommend not to specify default resources and to leave this as a conscious
200 # choice for the user. This also increases chances charts run on environments with little
201 # resources, such as Minikube. If you do want to specify resources, uncomment the following
202 # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
203 #
204 # Example:
205 # Configure resource requests and limits
206 # ref: http://kubernetes.io/docs/user-guide/compute-resources/
207 # Minimum memory for development is 2 CPU cores and 4GB memory
208 # Minimum memory for production is 4 CPU cores and 8GB memory
Sylvain Desbureaux77c848a2020-09-23 14:21:30 +0200209resources:
210 limits:
Michal Jagiello9a3395b2022-06-07 08:38:50 +0000211 cpu: 2
212 memory: 8Gi
Sylvain Desbureaux77c848a2020-09-23 14:21:30 +0200213 requests:
214 cpu: 0.2
215 memory: 2.5Gi
Akansha Dua7b6e1982019-09-04 13:36:12 +0000216backup:
217 enabled: false
218 cron: "00 00 * * *"
219 retentionPeriod: 3
220 dbSize: 1
221 keyspacesToSkip:
222 - name: system_traces
223 - name: system_auth
224 - name: system_distributed
farida azmy661c81a2021-03-09 11:38:20 +0200225
226#Pods Service Account
227serviceAccount:
228 nameOverride: cassandra
229 roles:
230 - nothing
Suresh Charane1a70a12022-01-13 06:56:53 -0500231
232# Cassandra Metrics
233metrics:
234 enabled: false
235 image: bitnami/cassandra-exporter:2.3.4-debian-10-r641
236 pullPolicy: IfNotPresent
237 ports:
238 - name: tcp-metrics
239 port: 8080
240 podAnnotations:
241 prometheus.io/scrape: 'true'
242 prometheus.io/port: '8080'
243 livenessProbe:
244 enabled: true
245 httpGet:
246 path: /metrics
247 port: 8080
248 initialDelaySeconds: 30
249 periodSeconds: 10
250 timeoutSeconds: 5
251 successThreshold: 1
252 failureThreshold: 3
253 readinessProbe:
254 httpGet:
255 path: /metrics
256 port: 8080
257 enabled: true
258 initialDelaySeconds: 5
259 periodSeconds: 10
260 timeoutSeconds: 5
261 successThreshold: 1
262 failureThreshold: 3
263 serviceMonitor:
264 enabled: false
265 targetPort: 8080
266 path: /metrics
267 basicAuth:
268 enabled: false
269 ## Namespace in which Prometheus is running
270 ##
271 # namespace: monitoring
272
273 ## Interval at which metrics should be scraped.
274 #interval: 30s
275
276 ## Timeout after which the scrape is ended
277 # scrapeTimeout: 10s
278
279 ## ServiceMonitor selector labels
280 selector:
281 app.kubernetes.io/name: '{{ include "common.name" . }}'
282 helm.sh/chart: '{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}'
283 app.kubernetes.io/instance: '{{ include "common.release" . }}'
284 app.kubernetes.io/managed-by: '{{ .Release.Service }}'
285
286 ## RelabelConfigs to apply to samples before scraping
287 relabelings: []
288
289 ## MetricRelabelConfigs to apply to samples before ingestion
290 metricRelabelings: []