b5c74ea3ef19d1450bdfdbc6abbcc328f3f0748c
[oom.git] / kubernetes / common / cassandra / values.yaml
1 # Copyright © 2022 Amdocs, Bell Canada, AT&T, Bitnami
2 #
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.
18 global: # global defaults
19   nodePortPrefix: 302
20   persistence:
21     mountPath: /dockerdata-nfs
22     backup:
23       mountPath: /dockerdata-nfs/backup
24   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
30
31 k8ssandraOperator:
32   cassandraVersion: 4.1.3
33   persistence:
34     #storageClassName: default
35     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       write_request_timeout: 10000ms
44       counter_write_request_timeout: 15000ms
45     jvmOptions:
46       heap_initial_size: 512M
47       heap_max_size: 4096M
48     hostNetwork: false
49   datacenters:
50     - name: dc1
51       size: 3
52   reaper:
53     enabled: true
54   stargate:
55     enabled: false
56     tag: v1.0.77
57     size: 1
58     jvmOptions:
59       heapSize: 384Mi
60
61 #################################################################
62 # Secrets metaconfig
63 # used to store the default superuser for k8ssandra-operator
64 #################################################################
65 secrets:
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
75 ingress:
76   enabled: false
77   service:
78     - baseaddr: "reaper-dc1"
79       path: "/webui"
80       name: "cassandra-dc1-reaper-service"
81       port: 8080
82
83 # application image
84 image: cassandra:3.11.4
85 pullPolicy: Always
86
87 # flag to enable debugging - application support required
88 debugEnabled: false
89
90 # application configuration
91 config:
92   cluster_domain: cluster.local
93   heap:
94     max: 4096M
95     min: 200M
96   jvmOpts: -Dcassandra.consistent.rangemovement=false
97   clusterName: cassandra
98   dataCenter: Pod
99   rackName: Rack
100   autoBootstrap: true
101   # If hostNetwork is true then provide the comma separated list of seeds.
102   #seeds:seed1,seed2
103
104 # default number of instances
105 replicaCount: 3
106
107 hostNetwork: false
108
109 nodeSelector: {}
110
111 affinity: {}
112
113 # probe configuration parameters
114 liveness:
115   initialDelaySeconds: 1
116   periodSeconds: 10
117   timeoutSeconds: 10
118   successThreshold: 1
119   failureThreshold: 3
120   # necessary to disable liveness probe when setting breakpoints
121   # in debugger so K8s doesn't restart unresponsive container
122   enabled: true
123
124 readiness:
125   initialDelaySeconds: 1
126   periodSeconds: 10
127   timeoutSeconds: 10
128   successThreshold: 1
129   failureThreshold: 3
130
131 startup:
132   initialDelaySeconds: 10
133   periodSeconds: 10
134   timeoutSeconds: 10
135   successThreshold: 1
136   failureThreshold: 90
137
138 service:
139   name: cassandra
140   headless:
141     suffix: ""
142     annotations:
143       service.alpha.kubernetes.io/tolerate-unready-endpoints: "true"
144     publishNotReadyAddresses: true
145   headlessPorts:
146   - name: tcp-intra
147     port: 7000
148   - name: tls
149     port: 7001
150   - name: tcp-jmx
151     port: 7199
152   - name: tcp-cql
153     port: 9042
154     ## thrift protocol is  deprecated . Should be removed. Being left until all project removes it.
155   - name: tcp-thrift
156     port: 9160
157   - name: tcp-agent
158     port: 61621
159
160 podAnnotations:
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"
165   prometheus.io/scrape: 'true'
166   prometheus.io/port: '8080'
167
168 podManagementPolicy: OrderedReady
169 updateStrategy:
170   type: RollingUpdate
171
172 persistence:
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: "-"
189   ## Not set as it depends of the backup enabledment or not.
190   accessMode: ReadWriteOnce
191   size: 10Gi
192   mountPath: /dockerdata-nfs
193   mountSubPath: cassandra
194   storageType: local
195   backup:
196       mountPath: /dockerdata-nfs/backup
197
198 configOverrides: {}
199
200 # resources: {}
201   # 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
211 resources:
212   limits:
213     cpu: 2
214     memory: 8Gi
215   requests:
216     cpu: 0.2
217     memory: 2.5Gi
218 backup:
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
227
228 #Pods Service Account
229 serviceAccount:
230   nameOverride: cassandra
231   roles:
232     - nothing
233
234 # Cassandra Metrics
235 metrics:
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: []