[CASSANDRA] Make stargate and reaper deployment optional
[oom.git] / kubernetes / common / common / templates / _cassOp.tpl
1 {{/*
2 # Copyright © 2022 Deutsche Telekom AG
3 #
4 # Licensed under the Apache License, Version 2.0 (the "License");
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at
7 #
8 #       http://www.apache.org/licenses/LICENSE-2.0
9 #
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 # See the License for the specific language governing permissions and
14 # limitations under the License.
15 */}}
16
17 {{/* Cassandra Data Center. */}}
18 {{- define "common.k8ssandraCluster" -}}
19 {{- $global := .Values.global }}
20 ---
21 apiVersion: k8ssandra.io/v1alpha1
22 kind: K8ssandraCluster
23 metadata:
24   name: {{ .Values.k8ssandraOperator.config.clusterName }}
25 spec:
26   {{ if .Values.k8ssandraOperator.reaper.enabled -}}
27   reaper:
28     initContainerImage:
29       registry: {{ include "repositoryGenerator.dockerHubRepository" . }}
30     containerImage:
31       registry: {{ include "repositoryGenerator.dockerHubRepository" . }}
32     autoScheduling:
33       enabled: true
34     metadata:
35       commonLabels:
36         app: {{ .Values.k8ssandraOperator.config.clusterName }}-reaper
37         version: {{ .Values.k8ssandraOperator.cassandraVersion }}
38   {{- end }}
39   {{ if .Values.k8ssandraOperator.stargate.enabled -}}
40   stargate:
41     containerImage:
42       registry: {{ include "repositoryGenerator.dockerHubRepository" . }}
43       tag: {{ .Values.k8ssandraOperator.stargate.tag }}
44     size: {{ .Values.k8ssandraOperator.stargate.size }}
45     heapSize: {{ .Values.k8ssandraOperator.stargate.jvmOptions.heapSize }}
46     metadata:
47       commonLabels:
48         app: {{ .Values.k8ssandraOperator.config.clusterName }}-stargate
49         version: {{ .Values.k8ssandraOperator.cassandraVersion }}
50     livenessProbe:
51       initialDelaySeconds: 200
52       periodSeconds: 10
53       failureThreshold: 20
54       successThreshold: 1
55       timeoutSeconds: 20
56     readinessProbe:
57       initialDelaySeconds: 200
58       periodSeconds: 10
59       failureThreshold: 20
60       successThreshold: 1
61       timeoutSeconds: 20
62   {{- end }}
63   cassandra:
64     serverVersion: {{ .Values.k8ssandraOperator.cassandraVersion }}
65     storageConfig:
66       cassandraDataVolumeClaimSpec:
67         {{ if .Values.k8ssandraOperator.persistence.storageClassName -}}
68         storageClassName: {{ .Values.k8ssandraOperator.persistence.storageClassName }}
69         {{- end }}
70         accessModes:
71           - ReadWriteOnce
72         resources:
73           requests:
74             storage: {{ .Values.k8ssandraOperator.persistence.size }}
75     superuserSecretRef:
76       name: {{ include "common.fullname" . }}-{{ .Values.k8ssandraOperator.config.secretName }}
77     config:
78       {{ if .Values.k8ssandraOperator.config.casOptions -}}
79       cassandraYaml:
80         {{ toYaml .Values.k8ssandraOperator.config.casOptions | nindent 8 }}
81       {{- end }}
82       {{ if .Values.k8ssandraOperator.config.jvmOptions -}}
83       jvmOptions:
84         {{ toYaml .Values.k8ssandraOperator.config.jvmOptions | nindent 8 }}
85       {{- end }}
86     networking:
87       hostNetwork: {{ .Values.k8ssandraOperator.config.hostNetwork }}
88     datacenters:
89       {{- range $datacenter := .Values.k8ssandraOperator.datacenters }}
90       - metadata:
91           name: {{ $datacenter.name }}
92         size: {{ $datacenter.size }}
93       {{- end }}
94     {{ if .Values.podAnnotations -}}
95     metadata:
96       pods:
97         annotations:
98           {{ toYaml .Values.podAnnotations | nindent 10 }}
99       commonLabels:
100         app: {{ .Values.k8ssandraOperator.config.clusterName }}
101         version: {{ .Values.k8ssandraOperator.cassandraVersion }}
102     {{- end }}
103 {{ end }}