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