Merge "[DMAAP] DMaaP ServiceMesh compatibility"
[oom.git] / kubernetes / policy / templates / job.yaml
1 {{/*
2 # Copyright © 2018 Amdocs, Bell Canada
3 # Modifications Copyright © 2020 AT&T Intellectual Property
4 # Modifications Copyright (C) 2022 Nordix Foundation.
5 #
6 # Licensed under the Apache License, Version 2.0 (the "License");
7 # you may not use this file except in compliance with the License.
8 # You may obtain a copy of the License at
9 #
10 #       http://www.apache.org/licenses/LICENSE-2.0
11 #
12 # Unless required by applicable law or agreed to in writing, software
13 # distributed under the License is distributed on an "AS IS" BASIS,
14 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 # See the License for the specific language governing permissions and
16 # limitations under the License.
17 */}}
18
19 apiVersion: batch/v1
20 kind: Job
21 metadata:
22   name: {{ include "common.release" . }}-policy-galera-config
23   namespace: {{ include "common.namespace" . }}
24   labels:
25     app: {{ include "common.name" . }}-job
26     release: {{ include "common.release" . }}
27 spec:
28   template:
29     metadata:
30       labels:
31         app: {{ include "common.name" . }}-job
32         release: {{ include "common.release" . }}
33     spec:
34       imagePullSecrets:
35       - name: "{{ include "common.namespace" . }}-docker-registry-key"
36       initContainers: {{ if .Values.global.postgres.localCluster }}{{ include "common.readinessCheck.waitFor" . | nindent 6 }}{{ end }}
37 #This container checks that all galera instances are up before initializing it.
38       - name: {{ include "common.name" . }}-mariadb-readiness
39         image: {{ include "repositoryGenerator.image.readiness" . }}
40         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
41         command:
42         - /app/ready.py
43         - --container-name
44         - {{ index .Values "mariadb-galera" "service" "name" }}
45         env:
46         - name: NAMESPACE
47           valueFrom:
48             fieldRef:
49               apiVersion: v1
50               fieldPath: metadata.namespace
51       - name: {{ include "common.release" . }}-policy-galera-config
52         image: {{ include "repositoryGenerator.dockerHubRepository" . }}/{{ .Values.mariadb.image }}
53         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
54         volumeMounts:
55         - mountPath: /dbcmd-config/db.sh
56           name: {{ include "common.fullname" . }}-config
57           subPath: db.sh
58         command:
59         - /bin/sh
60         args:
61         - -x
62         - /dbcmd-config/db.sh
63         env:
64         - name: MYSQL_ROOT_PASSWORD
65           {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "db-root-password" "key" "password") | indent 10 }}
66         - name: MYSQL_HOST
67           value: "{{ index .Values "mariadb-galera" "service" "name" }}"
68         - name: MYSQL_USER
69           {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "db-secret" "key" "login") | indent 10 }}
70         - name: MYSQL_PORT
71           value: "{{ index .Values "mariadb-galera" "service" "internalPort" }}"
72         resources:
73 {{ include "common.resources" . }}
74       {{ if .Values.global.postgres.localCluster }}
75       - name: {{ include "common.release" . }}-policy-pg-config
76         image: {{ .Values.repository }}/{{ .Values.postgresImage }}
77         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
78         volumeMounts:
79           - mountPath: /docker-entrypoint-initdb.d/db-pg.sh
80             name: {{ include "common.fullname" . }}-config
81             subPath: db-pg.sh
82         command:
83           - /bin/sh
84         args:
85           - -x
86           - /docker-entrypoint-initdb.d/db-pg.sh
87         env:
88           - name: PG_ADMIN_PASSWORD
89             {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "pg-root-pass" "key" "password") | indent 12 }}
90           - name: PG_HOST
91             value: "{{ .Values.postgres.service.name2 }}"
92           - name: PG_USER
93             {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "pg-user-creds" "key" "login") | indent 12 }}
94           - name: PG_USER_PASSWORD
95             {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "pg-user-creds" "key" "password") | indent 12 }}
96           - name: PG_PORT
97             value: "{{ .Values.postgres.service.internalPort }}"
98         resources:
99 {{ include "common.resources" . }}
100       {{ end }}
101       containers:
102       - name: {{ include "common.release" . }}-policy-galera-db-migrator
103         image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.dbmigrator.image }}
104         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
105         volumeMounts:
106         - mountPath: /dbcmd-config/db_migrator_policy_init.sh
107           name: {{ include "common.fullname" . }}-config
108           subPath: db_migrator_policy_init.sh
109         command:
110         - /bin/sh
111         args:
112         - -x
113         - /dbcmd-config/db_migrator_policy_init.sh
114         env:
115         - name: SQL_HOST
116           value: "{{ index .Values "mariadb-galera" "service" "name" }}"
117         - name: SQL_USER
118           {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "db-secret" "key" "login") | indent 10 }}
119         - name: SQL_PASSWORD
120           {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "db-secret" "key" "password") | indent 10 }}
121         - name: SQL_DB
122           value: {{ .Values.dbmigrator.schema }}
123         - name: POLICY_HOME
124           value: {{ .Values.dbmigrator.policy_home }}
125         - name: SCRIPT_DIRECTORY
126           value: "sql"
127         resources:
128 {{ include "common.resources" . }}
129       {{ if .Values.global.postgres.localCluster }}
130       - name: {{ include "common.release" . }}-policy-pg-db-migrator
131         image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.dbmigrator.image }}
132         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
133         volumeMounts:
134           - mountPath: /dbcmd-config/db_migrator_pg_policy_init.sh
135             name: {{ include "common.fullname" . }}-config
136             subPath: db_migrator_pg_policy_init.sh
137         command:
138           - /bin/sh
139         args:
140           - -x
141           - /dbcmd-config/db_migrator_pg_policy_init.sh
142         env:
143         - name: SQL_HOST
144           value: "{{ .Values.postgres.service.name2 }}"
145         - name: SQL_USER
146           {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "pg-user-creds" "key" "login") | indent 10 }}
147         - name: SQL_PASSWORD
148           {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "pg-user-creds" "key" "password") | indent 10 }}
149         - name: SQL_DB
150           value: {{ .Values.dbmigrator.schema }}
151         - name: POLICY_HOME
152           value: {{ .Values.dbmigrator.policy_home }}
153         - name: SCRIPT_DIRECTORY
154           value: "postgres"
155         - name: PGPASSWORD
156           {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "pg-user-creds" "key" "password") | indent 10 }}
157         resources:
158 {{ include "common.resources" . }}
159       {{ end }}
160       restartPolicy: Never
161       serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}}
162       volumes:
163         - name: {{ include "common.fullname" . }}-config
164           configMap:
165             name: {{ include "common.fullname" . }}-db-configmap
166             items:
167               - key: db.sh
168                 path: db.sh
169               - key: db_migrator_policy_init.sh
170                 path: db_migrator_policy_init.sh
171               - key: db-pg.sh
172                 path: db-pg.sh
173               - key: db_migrator_pg_policy_init.sh
174                 path: db_migrator_pg_policy_init.sh
175