{{- if .Values.redis.enabled }} apiVersion: apps/v1 kind: StatefulSet metadata: name: redis namespace: {{ .Values.namespace }} labels: {{- include "redis.labels" . | nindent 4 }} spec: serviceName: redis replicas: 1 selector: matchLabels: {{- include "redis.selectorLabels" . | nindent 6 }} template: metadata: labels: {{- include "redis.selectorLabels" . | nindent 8 }} spec: securityContext: runAsUser: {{ .Values.redis.securityContext.runAsUser }} runAsGroup: {{ .Values.redis.securityContext.runAsGroup }} fsGroup: {{ .Values.redis.securityContext.runAsGroup }} containers: - name: redis image: {{ .Values.redis.image }} command: - redis-server - --appendonly - "yes" - --appendfsync - everysec ports: - containerPort: {{ .Values.redis.port }} protocol: TCP livenessProbe: exec: command: - redis-cli - ping initialDelaySeconds: 10 periodSeconds: 10 timeoutSeconds: 3 failureThreshold: 5 readinessProbe: exec: command: - redis-cli - ping initialDelaySeconds: 5 periodSeconds: 5 timeoutSeconds: 3 failureThreshold: 3 resources: {{- toYaml .Values.redis.resources | nindent 12 }} volumeMounts: - name: redis-data mountPath: /data volumeClaimTemplates: - metadata: name: redis-data spec: accessModes: - ReadWriteOnce resources: requests: storage: {{ .Values.redis.storage }} {{- end }}