{{- if .Values.migrations.image.repository }} apiVersion: batch/v1 kind: Job metadata: name: {{ include "hasura.fullname" . }}-migrations labels: {{- include "hasura.labels" . | nindent 4 }} annotations: helm.sh/hook: post-install,post-upgrade helm.sh/hook-weight: "-5" helm.sh/hook-delete-policy: hook-succeeded,before-hook-creation spec: template: metadata: name: {{ include "hasura.fullname" . }}-migrations labels: {{- include "hasura.labels" . | nindent 8 }} spec: restartPolicy: Never volumes: - name: data emptyDir: { } initContainers: - name: copy image: "{{ .Values.migrations.image.registry }}/{{ .Values.migrations.image.repository }}:{{ .Values.migrations.image.tag | default "latest" }}" command: - cp - -R - * - /shared/data workingDir: /data volumeMounts: - name: data mountPath: /shared-data containers: - name: migrate image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}" command: [ "/bin/sh", "-c" ] args: - set -ex; hasura-cli metadata apply; hasura-cli migrate apply --all-databases; hasura-cli metadata reload; workingDir: /data env: - name: HASURA_GRAPHQL_ENDPOINT value: "http://{{ include "hasura.fullname" . }}" envFrom: {{- if .Values.extraEnvVarsSecret }} - secretRef: name: {{ .Values.extraEnvVarsSecret }} {{- end }} volumeMounts: - name: data mountPath: /data {{- end }}