apiVersion: apps/v1 kind: Deployment metadata: name: {{ include "calink.fullname" . }}-backend labels: {{- include "calink.backend.labels" . | nindent 4 }} {{- with .Values.commonAnnotations }} annotations: {{- toYaml . | nindent 4 }} {{- end }} spec: replicas: {{ .Values.backend.replicas }} selector: matchLabels: {{- include "calink.backend.selectorLabels" . | nindent 6 }} template: metadata: labels: {{- include "calink.backend.selectorLabels" . | nindent 8 }} {{- with .Values.commonAnnotations }} annotations: {{- toYaml . | nindent 8 }} {{- end }} spec: containers: - name: backend image: "{{ .Values.backend.image.repository }}:{{ .Values.backend.image.tag }}" imagePullPolicy: {{ .Values.backend.image.pullPolicy }} ports: - name: http containerPort: 8000 protocol: TCP env: {{- toYaml .Values.backend.env | nindent 12 }} {{- if .Values.backend.persistence.enabled }} volumeMounts: - name: data mountPath: {{ .Values.backend.persistence.mountPath }} {{- end }} livenessProbe: httpGet: path: {{ .Values.backend.healthCheck.path }} port: http initialDelaySeconds: {{ .Values.backend.healthCheck.initialDelaySeconds }} periodSeconds: {{ .Values.backend.healthCheck.periodSeconds }} readinessProbe: httpGet: path: {{ .Values.backend.healthCheck.path }} port: http initialDelaySeconds: {{ .Values.backend.healthCheck.initialDelaySeconds }} periodSeconds: {{ .Values.backend.healthCheck.periodSeconds }} resources: {{- toYaml .Values.backend.resources | nindent 12 }} {{- if .Values.backend.persistence.enabled }} volumes: - name: data persistentVolumeClaim: claimName: {{ include "calink.fullname" . }}-backend-data {{- end }}