eef716eae6c818d08b493ff34918857b3b740dc2
[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.0.1
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     jvmOptions:
44       heap_initial_size: 512M
45       heap_max_size: 4096M
46     hostNetwork: false
47   datacenters:
48     - name: dc1
49       size: 3
50   stargate:
51     tag: v1.0.76
52     size: 1
53     jvmOptions:
54       heapSize: 384Mi
55
56 #################################################################
57 # Secrets metaconfig
58 # used to store the default superuser for k8ssandra-operator
59 #################################################################
60 secrets:
61   - uid: *secretName
62     type: genericKV
63     externalSecret: '{{ tpl (default "" .Values.k8ssandraOperator.config.userCredentialsExternalSecret) . }}'
64     envs:
65       - name: username
66         value: *superusername
67       - name: password
68         value: *superuserpassword
69
70 ingress:
71   enabled: false
72   service:
73     - baseaddr: "reaper-dc1"
74       path: "/webui"
75       name: "cassandra-dc1-reaper-service"
76       port: 8080
77
78 # application image
79 image: cassandra:3.11.4
80 pullPolicy: Always
81
82 # flag to enable debugging - application support required
83 debugEnabled: false
84
85 # application configuration
86 config:
87   cluster_domain: cluster.local
88   heap:
89     max: 4096M
90     min: 200M
91   jvmOpts: -Dcassandra.consistent.rangemovement=false
92   clusterName: cassandra
93   dataCenter: Pod
94   rackName: Rack
95   autoBootstrap: true
96   # If hostNetwork is true then provide the comma separated list of seeds.
97   #seeds:seed1,seed2
98
99 # default number of instances
100 replicaCount: 3
101
102 hostNetwork: false
103
104 nodeSelector: {}
105
106 affinity: {}
107
108 # probe configuration parameters
109 liveness:
110   initialDelaySeconds: 1
111   periodSeconds: 10
112   timeoutSeconds: 10
113   successThreshold: 1
114   failureThreshold: 3
115   # necessary to disable liveness probe when setting breakpoints
116   # in debugger so K8s doesn't restart unresponsive container
117   enabled: true
118
119 readiness:
120   initialDelaySeconds: 1
121   periodSeconds: 10
122   timeoutSeconds: 10
123   successThreshold: 1
124   failureThreshold: 3
125
126 startup:
127   initialDelaySeconds: 10
128   periodSeconds: 10
129   timeoutSeconds: 10
130   successThreshold: 1
131   failureThreshold: 90
132
133 service:
134   name: cassandra
135   headless:
136     suffix: ""
137     annotations:
138       service.alpha.kubernetes.io/tolerate-unready-endpoints: "true"
139     publishNotReadyAddresses: true
140   headlessPorts:
141   - name: tcp-intra
142     port: 7000
143   - name: tls
144     port: 7001
145   - name: tcp-jmx
146     port: 7199
147   - name: tcp-cql
148     port: 9042
149     ## thrift protocol is  deprecated . Should be removed. Being left until all project removes it.
150   - name: tcp-thrift
151     port: 9160
152   - name: tcp-agent
153     port: 61621
154
155 podAnnotations:
156   #  sidecar.istio.io/inject: "false"
157   traffic.sidecar.istio.io/excludeInboundPorts: "7000,7001"
158   traffic.sidecar.istio.io/includeInboundPorts: '*'
159   traffic.sidecar.istio.io/excludeOutboundPorts: "7000,7001"
160   prometheus.io/scrape: 'true'
161   prometheus.io/port: '8080'
162
163 podManagementPolicy: OrderedReady
164 updateStrategy:
165   type: RollingUpdate
166
167 persistence:
168   enabled: true
169
170   ## A manually managed Persistent Volume and Claim
171   ## Requires persistence.enabled: true
172   ## If defined, PVC must be created manually before volume will be bound
173   # existingClaim:
174   volumeReclaimPolicy: Retain
175
176   ## database data Persistent Volume Storage Class
177   ## If defined, storageClassName: <storageClass>
178   ## If set to "-", storageClassName: "", which disables dynamic provisioning
179   ## If undefined (the default) or set to null, no storageClassName spec is
180   ##   set, choosing the default provisioner.  (gp2 on AWS, standard on
181   ##   GKE, AWS & OpenStack)
182   ##
183   ## storageClass: "-"
184   ## Not set as it depends of the backup enabledment or not.
185   accessMode: ReadWriteOnce
186   size: 10Gi
187   mountPath: /dockerdata-nfs
188   mountSubPath: cassandra
189   storageType: local
190   backup:
191       mountPath: /dockerdata-nfs/backup
192
193 configOverrides: {}
194
195 # resources: {}
196   # We usually recommend not to specify default resources and to leave this as a conscious
197   # choice for the user. This also increases chances charts run on environments with little
198   # resources, such as Minikube. If you do want to specify resources, uncomment the following
199   # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
200   #
201   # Example:
202   # Configure resource requests and limits
203   # ref: http://kubernetes.io/docs/user-guide/compute-resources/
204   # Minimum memory for development is 2 CPU cores and 4GB memory
205   # Minimum memory for production is 4 CPU cores and 8GB memory
206 resources:
207   limits:
208     cpu: 2
209     memory: 8Gi
210   requests:
211     cpu: 0.2
212     memory: 2.5Gi
213 backup:
214   enabled: false
215   cron: "00 00 * * *"
216   retentionPeriod: 3
217   dbSize: 1
218   keyspacesToSkip:
219   - name: system_traces
220   - name: system_auth
221   - name: system_distributed
222
223 #Pods Service Account
224 serviceAccount:
225   nameOverride: cassandra
226   roles:
227     - nothing
228
229 # Cassandra Metrics
230 metrics:
231   enabled: false
232   image: bitnami/cassandra-exporter:2.3.4-debian-10-r641
233   pullPolicy: IfNotPresent
234   ports:
235   - name: tcp-metrics
236     port: 8080
237   podAnnotations:
238     prometheus.io/scrape: 'true'
239     prometheus.io/port: '8080'
240   livenessProbe:
241     enabled: true
242     httpGet:
243       path: /metrics
244       port: 8080
245     initialDelaySeconds: 30
246     periodSeconds: 10
247     timeoutSeconds: 5
248     successThreshold: 1
249     failureThreshold: 3
250   readinessProbe:
251     httpGet:
252       path: /metrics
253       port: 8080
254     enabled: true
255     initialDelaySeconds: 5
256     periodSeconds: 10
257     timeoutSeconds: 5
258     successThreshold: 1
259     failureThreshold: 3
260   serviceMonitor:
261     enabled: false
262     targetPort: 8080
263     path: /metrics
264     basicAuth:
265       enabled: false
266     ## Namespace in which Prometheus is running
267     ##
268     # namespace: monitoring
269
270     ## Interval at which metrics should be scraped.
271     #interval: 30s
272
273     ## Timeout after which the scrape is ended
274     # scrapeTimeout: 10s
275
276     ## ServiceMonitor selector labels
277     selector:
278       app.kubernetes.io/name: '{{ include "common.name" . }}'
279       helm.sh/chart: '{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}'
280       app.kubernetes.io/instance: '{{ include "common.release" . }}'
281       app.kubernetes.io/managed-by: '{{ .Release.Service }}'
282
283     ## RelabelConfigs to apply to samples before scraping
284     relabelings: []
285
286     ## MetricRelabelConfigs to apply to samples before ingestion
287     metricRelabelings: []