{{- $envVars := include "impress.common.env" (list . .Values.backend) -}} {{- $fullName := include "impress.backend.fullname" . -}} {{- $component := "backend" -}} apiVersion: apps/v1 kind: Deployment metadata: name: {{ $fullName }} namespace: {{ .Release.Namespace | quote }} annotations: {{- with .Values.backend.dpAnnotations }} {{- toYaml . | nindent 4 }} {{- end }} labels: {{- include "impress.common.labels" (list . $component) | nindent 4 }} spec: replicas: {{ .Values.backend.replicas }} selector: matchLabels: {{- include "impress.common.selectorLabels" (list . $component) | nindent 6 }} template: metadata: annotations: {{- with .Values.backend.podAnnotations }} {{- toYaml . | nindent 8 }} {{- end }} labels: {{- include "impress.common.selectorLabels" (list . $component) | nindent 8 }} spec: {{- if $.Values.image.credentials }} imagePullSecrets: - name: {{ include "impress.secret.dockerconfigjson.name" (dict "fullname" (include "impress.fullname" .) "imageCredentials" $.Values.image.credentials) }} {{- end}} shareProcessNamespace: {{ .Values.backend.shareProcessNamespace }} containers: {{- with .Values.backend.sidecars }} {{- toYaml . | nindent 8 }} {{- end }} - name: {{ .Chart.Name }} image: "{{ (.Values.backend.image | default dict).repository | default .Values.image.repository }}:{{ (.Values.backend.image | default dict).tag | default .Values.image.tag }}" imagePullPolicy: {{ (.Values.backend.image | default dict).pullPolicy | default .Values.image.pullPolicy }} {{- with .Values.backend.command }} command: {{- toYaml . | nindent 12 }} {{- end }} {{- with .Values.backend.args }} args: {{- toYaml . | nindent 12 }} {{- end }} env: {{- if $envVars}} {{- $envVars | indent 12 }} {{- end }} {{- with .Values.backend.securityContext }} securityContext: {{- toYaml . | nindent 12 }} {{- end }} ports: - name: http containerPort: {{ .Values.backend.service.targetPort }} protocol: TCP {{- if .Values.backend.probes.liveness }} livenessProbe: {{- include "impress.probes.abstract" (merge .Values.backend.probes.liveness (dict "targetPort" .Values.backend.service.targetPort )) | nindent 12 }} {{- end }} {{- if .Values.backend.probes.readiness }} readinessProbe: {{- include "impress.probes.abstract" (merge .Values.backend.probes.readiness (dict "targetPort" .Values.backend.service.targetPort )) | nindent 12 }} {{- end }} {{- if .Values.backend.probes.startup }} startupProbe: {{- include "impress.probes.abstract" (merge .Values.backend.probes.startup (dict "targetPort" .Values.backend.service.targetPort )) | nindent 12 }} {{- end }} {{- with .Values.backend.resources }} resources: {{- toYaml . | nindent 12 }} {{- end }} volumeMounts: {{- range $index, $value := .Values.mountFiles }} - name: "files-{{ $index }}" mountPath: {{ $value.path }} subPath: content {{- end }} {{- range $name, $volume := .Values.backend.persistence }} - name: "{{ $name }}" mountPath: "{{ $volume.mountPath }}" {{- end }} {{- range .Values.backend.extraVolumeMounts }} - name: {{ .name }} mountPath: {{ .mountPath }} subPath: {{ .subPath | default "" }} readOnly: {{ .readOnly }} {{- end }} {{- with .Values.backend.nodeSelector }} nodeSelector: {{- toYaml . | nindent 8 }} {{- end }} {{- with .Values.backend.affinity }} affinity: {{- toYaml . | nindent 8 }} {{- end }} {{- with .Values.backend.tolerations }} tolerations: {{- toYaml . | nindent 8 }} {{- end }} volumes: {{- range $index, $value := .Values.mountFiles }} - name: "files-{{ $index }}" configMap: name: "{{ include "impress.fullname" $ }}-files-{{ $index }}" {{- end }} {{- range $name, $volume := .Values.backend.persistence }} - name: "{{ $name }}" {{- if eq $volume.type "emptyDir" }} emptyDir: {} {{- else }} persistentVolumeClaim: claimName: "{{ $fullName }}-{{ $name }}" {{- end }} {{- end }} {{- range .Values.backend.extraVolumes }} - name: {{ .name }} {{- if .existingClaim }} persistentVolumeClaim: claimName: {{ .existingClaim }} {{- else if .hostPath }} hostPath: {{ toYaml .hostPath | nindent 12 }} {{- else if .csi }} csi: {{- toYaml .csi | nindent 12 }} {{- else if .configMap }} configMap: {{- toYaml .configMap | nindent 12 }} {{- else if .emptyDir }} emptyDir: {{- toYaml .emptyDir | nindent 12 }} {{- else }} emptyDir: {} {{- end }} {{- end }}