blob: 9fea669c37f609fa51ce4cf316170a88a91e0a8c [file] [log] [blame]
Jakub Latusekd71d26c2020-10-21 13:36:29 +02001{{/*
Sylvain Desbureaux4898dc02019-11-14 13:35:13 +01002# Copyright © 2018 Amdocs, Bell Canada
jhhd4258672020-08-09 12:08:08 -05003# Modifications Copyright © 2020 AT&T Intellectual Property
waynedunican368aced2022-02-15 08:27:57 +00004# Modifications Copyright (C) 2022 Nordix Foundation.
Sylvain Desbureaux4898dc02019-11-14 13:35:13 +01005#
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.
Jakub Latusekd71d26c2020-10-21 13:36:29 +020017*/}}
Sylvain Desbureaux4898dc02019-11-14 13:35:13 +010018
19apiVersion: batch/v1
20kind: Job
21metadata:
jhhd4258672020-08-09 12:08:08 -050022 name: {{ include "common.release" . }}-policy-galera-config
Sylvain Desbureaux4898dc02019-11-14 13:35:13 +010023 namespace: {{ include "common.namespace" . }}
24 labels:
25 app: {{ include "common.name" . }}-job
Krzysztof Opasiak137d7cc2020-01-24 23:49:11 +010026 release: {{ include "common.release" . }}
Sylvain Desbureaux4898dc02019-11-14 13:35:13 +010027spec:
28 template:
29 metadata:
30 labels:
31 app: {{ include "common.name" . }}-job
Krzysztof Opasiak137d7cc2020-01-24 23:49:11 +010032 release: {{ include "common.release" . }}
Sylvain Desbureaux4898dc02019-11-14 13:35:13 +010033 spec:
andreas-geissler7d85f3f2021-07-19 17:53:22 +020034 imagePullSecrets:
35 - name: "{{ include "common.namespace" . }}-docker-registry-key"
waynedunican368aced2022-02-15 08:27:57 +000036 initContainers: {{ if .Values.global.postgres.localCluster }}{{ include "common.readinessCheck.waitFor" . | nindent 6 }}{{ end }}
Sylvain Desbureaux4898dc02019-11-14 13:35:13 +010037#This container checks that all galera instances are up before initializing it.
waynedunican368aced2022-02-15 08:27:57 +000038 - name: {{ include "common.name" . }}-mariadb-readiness
Sylvain Desbureaux7c8c6862020-11-19 18:02:37 +010039 image: {{ include "repositoryGenerator.image.readiness" . }}
Sylvain Desbureaux4898dc02019-11-14 13:35:13 +010040 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
41 command:
Sylvain Desbureaux1694e1d2020-08-21 09:58:25 +020042 - /app/ready.py
Sylvain Desbureaux4898dc02019-11-14 13:35:13 +010043 - --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
jhhd4258672020-08-09 12:08:08 -050051 - name: {{ include "common.release" . }}-policy-galera-config
Sylvain Desbureaux7c8c6862020-11-19 18:02:37 +010052 image: {{ include "repositoryGenerator.dockerHubRepository" . }}/{{ .Values.mariadb.image }}
Sylvain Desbureaux4898dc02019-11-14 13:35:13 +010053 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
Krzysztof Opasiak98a79cc2020-04-01 22:33:58 +020065 {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "db-root-password" "key" "password") | indent 10 }}
Sylvain Desbureaux4898dc02019-11-14 13:35:13 +010066 - name: MYSQL_HOST
67 value: "{{ index .Values "mariadb-galera" "service" "name" }}"
68 - name: MYSQL_USER
Krzysztof Opasiak98a79cc2020-04-01 22:33:58 +020069 {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "db-secret" "key" "login") | indent 10 }}
Sylvain Desbureaux4898dc02019-11-14 13:35:13 +010070 - name: MYSQL_PORT
71 value: "{{ index .Values "mariadb-galera" "service" "internalPort" }}"
jhhbf8d8a92020-09-10 14:01:49 -050072 resources:
73{{ include "common.resources" . }}
waynedunican368aced2022-02-15 08:27:57 +000074 {{ 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 }}
jhhd74fe9f2021-04-15 11:04:39 -0500101 containers:
102 - name: {{ include "common.release" . }}-policy-galera-db-migrator
Andreas Geissler8d704ba2022-01-07 17:49:22 +0000103 image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.dbmigrator.image }}
jhhd74fe9f2021-04-15 11:04:39 -0500104 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 }}
waynedunican368aced2022-02-15 08:27:57 +0000125 - name: SCRIPT_DIRECTORY
126 value: "sql"
jhhd74fe9f2021-04-15 11:04:39 -0500127 resources:
128{{ include "common.resources" . }}
waynedunican368aced2022-02-15 08:27:57 +0000129 {{ 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 }}
Sylvain Desbureaux4898dc02019-11-14 13:35:13 +0100160 restartPolicy: Never
farida azmyc1178372021-04-11 12:55:33 +0200161 serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}}
Sylvain Desbureaux4898dc02019-11-14 13:35:13 +0100162 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
jhhd74fe9f2021-04-15 11:04:39 -0500169 - key: db_migrator_policy_init.sh
170 path: db_migrator_policy_init.sh
waynedunican368aced2022-02-15 08:27:57 +0000171 - 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