{{- $envVars := include "impress.common.env" (list . .Values.backend) -}} {{- $fullName := include "impress.backend.fullname" . -}} {{- $component := "backend" -}} apiVersion: batch/v1 kind: Job metadata: name: {{ $fullName }}-migrate namespace: {{ .Release.Namespace | quote }} annotations: argocd.argoproj.io/sync-options: Replace=true,Force=true {{- with .Values.backend.migrateJobAnnotations }} {{- toYaml . | nindent 4 }} {{- end }} labels: {{- include "impress.common.labels" (list . $component) | nindent 4 }} spec: ttlSecondsAfterFinished: {{ .Values.backend.jobs.ttlSecondsAfterFinished }} backoffLimit: {{ .Values.backend.jobs.backoffLimit }} 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.migrate.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 }} {{- 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 }} restartPolicy: {{ .Values.backend.migrate.restartPolicy }} 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 }}