1 {{- if (and (.Values.runMigrations) (not (eq .Values.env.database "off"))) }}
2 # Why is this Job duplicated and not using only helm hooks?
3 # See: https://github.com/helm/charts/pull/7362
7 name: {{ template "kong.fullname" . }}-pre-upgrade-migrations
9 app: {{ template "kong.name" . }}
10 chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
11 release: "{{ .Release.Name }}"
12 heritage: "{{ .Release.Service }}"
13 component: pre-upgrade-migrations
15 helm.sh/hook: "pre-upgrade"
16 helm.sh/hook-delete-policy: "before-hook-creation"
20 name: {{ template "kong.name" . }}-pre-upgrade-migrations
22 app: {{ template "kong.name" . }}
23 release: "{{ .Release.Name }}"
24 component: pre-upgrade-migrations
26 {{- if .Values.image.pullSecrets }}
28 {{- range .Values.image.pullSecrets }}
32 {{- if .Values.postgresql.enabled }}
34 - name: wait-for-postgres
35 image: "{{ .Values.waitImage.repository }}:{{ .Values.waitImage.tag }}"
38 value: {{ template "kong.postgresql.fullname" . }}
40 value: "{{ .Values.postgresql.service.port }}"
41 - name: KONG_PG_PASSWORD
44 name: {{ template "kong.postgresql.fullname" . }}
45 key: postgresql-password
46 command: [ "/bin/sh", "-c", "until nc -zv $KONG_PG_HOST $KONG_PG_PORT -w1; do echo 'waiting for db'; sleep 1; done" ]
49 - name: {{ template "kong.name" . }}-upgrade-migrations
50 image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
51 imagePullPolicy: {{ .Values.image.pullPolicy }}
53 - name: KONG_NGINX_DAEMON
55 {{- if .Values.enterprise.enabled }}
56 {{- include "kong.license" . | nindent 8 }}
58 {{- include "kong.env" . | indent 8 }}
59 {{- if .Values.postgresql.enabled }}
61 value: {{ template "kong.postgresql.fullname" . }}
63 value: "{{ .Values.postgresql.service.port }}"
64 - name: KONG_PG_PASSWORD
67 name: {{ template "kong.postgresql.fullname" . }}
68 key: postgresql-password
70 {{- if .Values.cassandra.enabled }}
71 - name: KONG_CASSANDRA_CONTACT_POINTS
72 value: {{ template "kong.cassandra.fullname" . }}
74 command: [ "/bin/sh", "-c", "kong migrations up" ]
75 restartPolicy: OnFailure