github.com/microsoft/fabrikate@v1.0.0-alpha.1.0.20210115014322-dc09194d0885/testdata/generate/infra/fabrikate-jaeger/helm_repos/jaeger/charts/cassandra/templates/statefulset.yaml (about) 1 apiVersion: apps/v1 2 kind: StatefulSet 3 metadata: 4 name: {{ template "cassandra.fullname" . }} 5 labels: 6 app: {{ template "cassandra.name" . }} 7 chart: {{ template "cassandra.chart" . }} 8 release: {{ .Release.Name }} 9 heritage: {{ .Release.Service }} 10 spec: 11 selector: 12 matchLabels: 13 app: {{ template "cassandra.name" . }} 14 release: {{ .Release.Name }} 15 serviceName: {{ template "cassandra.fullname" . }} 16 replicas: {{ .Values.config.cluster_size }} 17 podManagementPolicy: {{ .Values.podManagementPolicy }} 18 updateStrategy: 19 type: {{ .Values.updateStrategy.type }} 20 template: 21 metadata: 22 labels: 23 app: {{ template "cassandra.name" . }} 24 release: {{ .Release.Name }} 25 {{- if .Values.podLabels }} 26 {{ toYaml .Values.podLabels | indent 8 }} 27 {{- end }} 28 {{- if .Values.podAnnotations }} 29 annotations: 30 {{ toYaml .Values.podAnnotations | indent 8 }} 31 {{- end }} 32 spec: 33 {{- if .Values.schedulerName }} 34 schedulerName: "{{ .Values.schedulerName }}" 35 {{- end }} 36 hostNetwork: {{ .Values.hostNetwork }} 37 {{- if .Values.selector }} 38 {{ toYaml .Values.selector | indent 6 }} 39 {{- end }} 40 {{- if .Values.securityContext.enabled }} 41 securityContext: 42 fsGroup: {{ .Values.securityContext.fsGroup }} 43 runAsUser: {{ .Values.securityContext.runAsUser }} 44 {{- end }} 45 {{- if .Values.affinity }} 46 affinity: 47 {{ toYaml .Values.affinity | indent 8 }} 48 {{- end }} 49 {{- if .Values.tolerations }} 50 tolerations: 51 {{ toYaml .Values.tolerations | indent 8 }} 52 {{- end }} 53 {{- if .Values.configOverrides }} 54 initContainers: 55 - name: config-copier 56 image: busybox 57 command: [ 'sh', '-c', 'cp /configmap-files/* /cassandra-configs/ && chown 999:999 /cassandra-configs/*'] 58 volumeMounts: 59 {{- range $key, $value := .Values.configOverrides }} 60 - name: cassandra-config-{{ $key | replace "." "-" | replace "_" "--" }} 61 mountPath: /configmap-files/{{ $key }} 62 subPath: {{ $key }} 63 {{- end }} 64 - name: cassandra-configs 65 mountPath: /cassandra-configs/ 66 {{- end }} 67 containers: 68 {{- if .Values.extraContainers }} 69 {{ tpl (toYaml .Values.extraContainers) . | indent 6}} 70 {{- end }} 71 {{- if .Values.exporter.enabled }} 72 - name: cassandra-exporter 73 image: "{{ .Values.exporter.image.repo }}:{{ .Values.exporter.image.tag }}" 74 resources: 75 {{ toYaml .Values.exporter.resources | indent 10 }} 76 env: 77 - name: CASSANDRA_EXPORTER_CONFIG_listenPort 78 value: {{ .Values.exporter.port | quote }} 79 - name: JVM_OPTS 80 value: {{ .Values.exporter.jvmOpts | quote }} 81 ports: 82 - name: metrics 83 containerPort: {{ .Values.exporter.port }} 84 protocol: TCP 85 - name: jmx 86 containerPort: 5555 87 livenessProbe: 88 tcpSocket: 89 port: {{ .Values.exporter.port }} 90 readinessProbe: 91 httpGet: 92 path: /metrics 93 port: {{ .Values.exporter.port }} 94 initialDelaySeconds: 20 95 timeoutSeconds: 45 96 {{- end }} 97 - name: {{ template "cassandra.fullname" . }} 98 image: "{{ .Values.image.repo }}:{{ .Values.image.tag }}" 99 imagePullPolicy: {{ .Values.image.pullPolicy | quote }} 100 {{- if .Values.commandOverrides }} 101 command: {{ .Values.commandOverrides }} 102 {{- end }} 103 {{- if .Values.argsOverrides }} 104 args: {{ .Values.argsOverrides }} 105 {{- end }} 106 resources: 107 {{ toYaml .Values.resources | indent 10 }} 108 env: 109 {{- $seed_size := default 1 .Values.config.seed_size | int -}} 110 {{- $global := . }} 111 - name: CASSANDRA_SEEDS 112 {{- if .Values.hostNetwork }} 113 value: {{ required "You must fill \".Values.config.seeds\" with list of Cassandra seeds when hostNetwork is set to true" .Values.config.seeds | quote }} 114 {{- else }} 115 value: "{{- range $i, $e := until $seed_size }}{{ template "cassandra.fullname" $global }}-{{ $i }}.{{ template "cassandra.fullname" $global }}.{{ $global.Release.Namespace }}.svc.{{ $global.Values.config.cluster_domain }}{{- if (lt ( add1 $i ) $seed_size ) }},{{- end }}{{- end }}" 116 {{- end }} 117 - name: MAX_HEAP_SIZE 118 value: {{ default "8192M" .Values.config.max_heap_size | quote }} 119 - name: HEAP_NEWSIZE 120 value: {{ default "200M" .Values.config.heap_new_size | quote }} 121 - name: CASSANDRA_ENDPOINT_SNITCH 122 value: {{ default "SimpleSnitch" .Values.config.endpoint_snitch | quote }} 123 - name: CASSANDRA_CLUSTER_NAME 124 value: {{ default "Cassandra" .Values.config.cluster_name | quote }} 125 - name: CASSANDRA_DC 126 value: {{ default "DC1" .Values.config.dc_name | quote }} 127 - name: CASSANDRA_RACK 128 value: {{ default "RAC1" .Values.config.rack_name | quote }} 129 - name: CASSANDRA_START_RPC 130 value: {{ default "false" .Values.config.start_rpc | quote }} 131 - name: POD_IP 132 valueFrom: 133 fieldRef: 134 fieldPath: status.podIP 135 {{- range $key, $value := .Values.env }} 136 - name: {{ $key | quote }} 137 value: {{ $value | quote }} 138 {{- end }} 139 livenessProbe: 140 exec: 141 command: [ "/bin/sh", "-c", "nodetool status" ] 142 initialDelaySeconds: {{ .Values.livenessProbe.initialDelaySeconds }} 143 periodSeconds: {{ .Values.livenessProbe.periodSeconds }} 144 timeoutSeconds: {{ .Values.livenessProbe.timeoutSeconds }} 145 successThreshold: {{ .Values.livenessProbe.successThreshold }} 146 failureThreshold: {{ .Values.livenessProbe.failureThreshold }} 147 readinessProbe: 148 exec: 149 command: [ "/bin/sh", "-c", "nodetool status | grep -E \"^UN\\s+{{ .Values.readinessProbe.address }}\"" ] 150 initialDelaySeconds: {{ .Values.readinessProbe.initialDelaySeconds }} 151 periodSeconds: {{ .Values.readinessProbe.periodSeconds }} 152 timeoutSeconds: {{ .Values.readinessProbe.timeoutSeconds }} 153 successThreshold: {{ .Values.readinessProbe.successThreshold }} 154 failureThreshold: {{ .Values.readinessProbe.failureThreshold }} 155 ports: 156 - name: intra 157 containerPort: 7000 158 - name: tls 159 containerPort: 7001 160 - name: jmx 161 containerPort: 7199 162 - name: cql 163 containerPort: {{ default 9042 .Values.config.ports.cql }} 164 - name: thrift 165 containerPort: {{ default 9160 .Values.config.ports.thrift }} 166 {{- if .Values.config.ports.agent }} 167 - name: agent 168 containerPort: {{ .Values.config.ports.agent }} 169 {{- end }} 170 volumeMounts: 171 - name: data 172 mountPath: /var/lib/cassandra 173 {{- if .Values.configOverrides }} 174 - name: cassandra-configs 175 mountPath: /etc/cassandra 176 {{- end }} 177 {{- if .Values.extraVolumeMounts }} 178 {{ toYaml .Values.extraVolumeMounts | indent 8 }} 179 {{- end }} 180 {{- if not .Values.persistence.enabled }} 181 lifecycle: 182 preStop: 183 exec: 184 command: ["/bin/sh", "-c", "exec nodetool decommission"] 185 {{- end }} 186 terminationGracePeriodSeconds: {{ default 30 .Values.podSettings.terminationGracePeriodSeconds }} 187 {{- if .Values.image.pullSecrets }} 188 imagePullSecrets: 189 - name: {{ .Values.image.pullSecrets }} 190 {{- end }} 191 {{- if or .Values.extraVolumes ( or .Values.configOverrides (not .Values.persistence.enabled) ) }} 192 volumes: 193 {{- end }} 194 {{- if .Values.extraVolumes }} 195 {{ toYaml .Values.extraVolumes | indent 6 }} 196 {{- end }} 197 {{- range $key, $value := .Values.configOverrides }} 198 - configMap: 199 name: cassandra 200 name: cassandra-config-{{ $key | replace "." "-" | replace "_" "--" }} 201 {{- end }} 202 {{- if .Values.configOverrides }} 203 - name: cassandra-configs 204 emptyDir: {} 205 {{- end }} 206 {{- if not .Values.persistence.enabled }} 207 - name: data 208 emptyDir: {} 209 {{- else }} 210 volumeClaimTemplates: 211 - metadata: 212 name: data 213 labels: 214 app: {{ template "cassandra.name" . }} 215 release: {{ .Release.Name }} 216 spec: 217 accessModes: 218 - {{ .Values.persistence.accessMode | quote }} 219 resources: 220 requests: 221 storage: {{ .Values.persistence.size | quote }} 222 {{- if .Values.persistence.storageClass }} 223 {{- if (eq "-" .Values.persistence.storageClass) }} 224 storageClassName: "" 225 {{- else }} 226 storageClassName: "{{ .Values.persistence.storageClass }}" 227 {{- end }} 228 {{- end }} 229 {{- end }}