Add standalone R3 RIC platform helm charts and deployment scripts.
[ric-plt/ric-dep.git] / helm / infrastructure / subcharts / 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         {{- if .Values.postgresql.enabled }}
59         - name: KONG_PG_HOST
60           value: {{ template "kong.postgresql.fullname" . }}
61         - name: KONG_PG_PORT
62           value: "{{ .Values.postgresql.service.port }}"
63         - name: KONG_PG_PASSWORD
64           valueFrom:
65             secretKeyRef:
66               name: {{ template "kong.postgresql.fullname" . }}
67               key: postgresql-password
68         {{- end }}
69         {{- if .Values.cassandra.enabled }}
70         - name: KONG_CASSANDRA_CONTACT_POINTS
71           value: {{ template "kong.cassandra.fullname" . }}
72         {{- end }}
73         {{- include "kong.env" .  | indent 8 }}
74         command: [ "/bin/sh", "-c", "kong migrations up" ]
75       restartPolicy: OnFailure
76 {{- end }}