7338c06c8a73aca6aaa410728ff51ebdfca87ebc
[it/dep.git] / ric-aux / 80-Auxiliary-Functions / helm / kong / charts / kong / templates / migrations-pre-upgrade.yaml
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
4 apiVersion: batch/v1
5 kind: Job
6 metadata:
7   name: {{ template "kong.fullname" . }}-pre-upgrade-migrations
8   labels:
9     app: {{ template "kong.name" . }}
10     chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
11     release: "{{ .Release.Name }}"
12     heritage: "{{ .Release.Service }}"
13     component: pre-upgrade-migrations
14   annotations:
15     helm.sh/hook: "pre-upgrade"
16     helm.sh/hook-delete-policy: "before-hook-creation"
17 spec:
18   template:
19     metadata:
20       name: {{ template "kong.name" . }}-pre-upgrade-migrations
21       labels:
22         app: {{ template "kong.name" . }}
23         release: "{{ .Release.Name }}"
24         component: pre-upgrade-migrations
25     spec:
26       {{- if .Values.image.pullSecrets }}
27       imagePullSecrets:
28       {{- range .Values.image.pullSecrets }}
29         - name: {{ . }}
30       {{- end }}
31       {{- end }}
32       {{- if .Values.postgresql.enabled }}
33       initContainers:
34       - name: wait-for-postgres
35         image: "{{ .Values.waitImage.repository }}:{{ .Values.waitImage.tag }}"
36         env:
37         - name: KONG_PG_HOST
38           value: {{ template "kong.postgresql.fullname" . }}
39         - name: KONG_PG_PORT
40           value: "{{ .Values.postgresql.service.port }}"
41         - name: KONG_PG_PASSWORD
42           valueFrom:
43             secretKeyRef:
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" ]
47       {{- end }}
48       containers:
49       - name: {{ template "kong.name" . }}-upgrade-migrations
50         image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
51         imagePullPolicy: {{ .Values.image.pullPolicy }}
52         env:
53         - name: KONG_NGINX_DAEMON
54           value: "off"
55         {{- if .Values.enterprise.enabled }}
56         {{- include "kong.license" . | nindent 8 }}
57         {{- end }}
58         {{- include "kong.env" .  | indent 8 }}
59         {{- if .Values.postgresql.enabled }}
60         - name: KONG_PG_HOST
61           value: {{ template "kong.postgresql.fullname" . }}
62         - name: KONG_PG_PORT
63           value: "{{ .Values.postgresql.service.port }}"
64         - name: KONG_PG_PASSWORD
65           valueFrom:
66             secretKeyRef:
67               name: {{ template "kong.postgresql.fullname" . }}
68               key: postgresql-password
69         {{- end }}
70         {{- if .Values.cassandra.enabled }}
71         - name: KONG_CASSANDRA_CONTACT_POINTS
72           value: {{ template "kong.cassandra.fullname" . }}
73         {{- end }}
74         command: [ "/bin/sh", "-c", "kong migrations up" ]
75       restartPolicy: OnFailure
76 {{- end }}