apiVersion: apps/v1 kind: StatefulSet metadata: name: {{ include "heimdall.name" . }} labels: app: {{ include "heimdall.name" . }} spec: serviceName: {{ include "heimdall.name" . }} replicas: {{ .Values.replicaCount }} selector: matchLabels: app: {{ include "heimdall.name" . }} template: metadata: labels: app: {{ include "heimdall.name" . }} spec: containers: - name: {{ include "heimdall.name" . }} image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" imagePullPolicy: {{ .Values.image.pullPolicy }} envFrom: - configMapRef: name: {{ include "heimdall.environment" . }} ports: - name: http containerPort: 80 - name: https containerPort: 443 volumeMounts: - name: data mountPath: /config {{- if .Values.resources }} resources: {{- if .Values.resources.requests }} requests: {{- if .Values.resources.requests.cpu }} cpu: "{{ .Values.resources.requests.cpu }}" {{- end }} {{- if .Values.resources.requests.memory }} memory: "{{ .Values.resources.requests.memory }}" {{- end }} {{- end }} {{- if .Values.resources.limits }} limits: {{- if .Values.resources.limits.cpu }} cpu: "{{ .Values.resources.limits.cpu }}" {{- end }} {{- if .Values.resources.limits.memory }} memory: "{{ .Values.resources.limits.memory }}" {{- end }} {{- end }} {{- end }} volumeClaimTemplates: - metadata: name: data spec: accessModes: {{ .Values.persistence.accessModes }} resources: requests: storage: {{ .Values.persistence.size }} {{- if and .Values.persistence.storageClass (ne .Values.persistence.storageClass "") }} storageClassName: {{ .Values.persistence.storageClass | quote }} {{- end }}