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