{{- if .Values.redis.local_setup }} apiVersion: v1 kind: Service metadata: namespace: {{ .Release.Namespace }} name: {{ .Release.Name }}-redis labels: app.name: {{ .Release.Namespace }}-{{ .Release.Name }}-redis spec: {{- if not .Values.redis.assign_cluster_ip }} clusterIP: None {{- end }} ports: - name: redis-{{ .Values.redis.servicePort }} port: {{ .Values.redis.servicePort }} protocol: TCP targetPort: 6379 selector: app.name: {{ .Release.Namespace }}-{{ .Release.Name }}-redis --- # REDIS WORKLOAD apiVersion: apps/v1 kind: StatefulSet metadata: namespace: {{ .Release.Namespace }} name: {{ .Release.Name }}-redis-wl spec: selector: matchLabels: app.name: {{ .Release.Namespace }}-{{ .Release.Name }}-redis serviceName: {{ .Release.Name }}-redis template: metadata: labels: app.name: {{ .Release.Namespace }}-{{ .Release.Name }}-redis spec: containers: - image: {{ .Values.redis.image }} imagePullPolicy: {{ .Values.redis.pullPolicy | default "IfNotPresent" }} name: {{ .Release.Name }}-redis stdin: true tty: true volumeMounts: - mountPath: /data name: pvc-{{ .Release.Name }}-redis-vol subPath: '' serviceAccount: {{ .Release.Name }}-srv-account serviceAccountName: {{ .Release.Name }}-srv-account volumeClaimTemplates: - apiVersion: v1 kind: PersistentVolumeClaim metadata: creationTimestamp: null namespace: {{ .Release.Namespace }} name: pvc-{{ .Release.Name }}-redis-vol spec: accessModes: - ReadWriteOnce resources: requests: storage: {{ .Values.redis.volumeSize | default "100Mi" | quote }} storageClassName: {{ .Values.redis.storageClass }} volumeMode: Filesystem {{- end }}