560cea0902f31e17d4bdb1aa147f27ab2b995efe
[policy/docker.git] / helm / policy / templates / job.yaml
1 {{/*
2 # Copyright (C) 2022 Nordix Foundation.
3 #
4 # Licensed under the Apache License, Version 2.0 (the "License");
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at
7 #
8 #       http://www.apache.org/licenses/LICENSE-2.0
9 #
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 # See the License for the specific language governing permissions and
14 # limitations under the License.
15 */}}
16
17 ---
18 apiVersion: batch/v1
19 kind: Job
20 metadata:
21   name: policy-galera-init
22   namespace: default
23   labels:
24     app: policy-galera-init
25 spec:
26   template:
27     metadata:
28       labels:
29         app: policy-galera-init
30       name: policy-galera-init
31     spec:
32       imagePullSecrets:
33       - name: "default-docker-registry-key"
34       initContainers:
35       - name: policy-mariadb-readiness
36         image: {{ .Values.global.repository }}/{{ .Values.global.image.readiness }}
37         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
38         command:
39         - /app/ready.py
40         - --container-name
41         - {{ index .Values "mariadb-galera" "service" "name" }}
42         env:
43         - name: NAMESPACE
44           valueFrom:
45             fieldRef:
46               apiVersion: v1
47               fieldPath: metadata.namespace
48       containers:
49       - name: policy-galera-config
50         image: {{ .Values.global.dockerRepository }}/{{ .Values.mariadb.image }}
51         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
52         volumeMounts:
53         - mountPath: /dbcmd-config/db.sh
54           name: {{ .Chart.Name }}-config
55           subPath: db.sh
56         command:
57         - /bin/sh
58         - -cx
59         - |
60            /dbcmd-config/db.sh
61         env:
62         - name: MYSQL_ROOT_PASSWORD
63           valueFrom:
64             secretKeyRef:
65               name: mariadb-galera-db-root-password
66               key: password
67               optional: false
68         - name: MYSQL_HOST
69           value: "{{ index .Values "mariadb-galera" "service" "name" }}"
70         - name: MYSQL_USER
71           valueFrom:
72             secretKeyRef:
73               name: mariadb-galera-db-user-credentials
74               key: login
75               optional: false
76         - name: MYSQL_PORT
77           value: "{{ index .Values "mariadb-galera" "service" "internalPort" }}"
78         resources:
79           limits:
80             cpu: 1
81             memory: 4Gi
82           requests:
83             cpu: 100m
84             memory: 1Gi
85       restartPolicy: Never
86       serviceAccount: {{ .Chart.Name }}-read
87       serviceAccountName: {{ .Chart.Name }}-read
88       volumes:
89         - name: {{ .Chart.Name }}-config
90           configMap:
91             name: {{ .Chart.Name }}-db-configmap
92             defaultMode: 0755
93             items:
94               - key: db.sh
95                 path: db.sh
96
97 ---
98 apiVersion: batch/v1
99 kind: Job
100 metadata:
101   name: policy-galera-config
102   namespace: default
103   labels:
104     app: policy-galera-config
105 spec:
106   template:
107     metadata:
108       labels:
109         app: policy-galera-config
110       name: policy-galera-config
111     spec:
112       imagePullSecrets:
113       - name: "default-docker-registry-key"
114       initContainers:
115         - name: policy-init-readiness
116           image: {{ .Values.global.repository }}/{{ .Values.global.image.readiness }}
117           imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
118           command:
119           - /app/ready.py
120           args:
121           - --job-name
122           - policy-galera-init
123           env:
124           - name: NAMESPACE
125             valueFrom:
126               fieldRef:
127                 apiVersion: v1
128                 fieldPath: metadata.namespace
129       containers:
130       - name: policy-galera-db-migrator-policy
131         image: {{ .Values.global.dockerRepository }}/{{ .Values.dbmigrator.image }}
132         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
133         volumeMounts:
134           - mountPath: /dbcmd-config/db_migrator_policy_init.sh
135             name: {{ .Chart.Name }}-policy-config
136             subPath: db_migrator_policy_init.sh
137         command:
138           - /bin/sh
139           - -cx
140           - |
141             /dbcmd-config/db_migrator_policy_init.sh
142         env:
143           - name: SQL_HOST
144             value: "{{ index .Values "mariadb-galera" "service" "name" }}"
145           - name: SQL_USER
146             valueFrom:
147               secretKeyRef:
148                 name: mariadb-galera-db-user-credentials
149                 key: login
150                 optional: false
151           - name: SQL_PASSWORD
152             valueFrom:
153               secretKeyRef:
154                 name: mariadb-galera-db-user-credentials
155                 key: password
156                 optional: false
157           - name: SQL_DB
158             value: {{ .Values.dbmigrator.policyadmin.schema }}
159           - name: POLICY_HOME
160             value: {{ .Values.dbmigrator.policy_home }}
161           - name: SCRIPT_DIRECTORY
162             value: "sql"
163         resources:
164           limits:
165             cpu: 1
166             memory: 4Gi
167           requests:
168             cpu: 100m
169             memory: 1Gi
170       restartPolicy: Never
171       serviceAccountName: {{ .Chart.Name }}-read
172       volumes:
173         - name: {{ .Chart.Name }}-policy-config
174           configMap:
175             name: {{ .Chart.Name }}-db-configmap
176             defaultMode: 0755
177             items:
178               - key: db_migrator_policy_init.sh
179                 path: db_migrator_policy_init.sh
180
181 ---
182 apiVersion: batch/v1
183 kind: Job
184 metadata:
185   name: policy-galera-config-clamp
186   namespace: default
187   labels:
188     app: policy-galera-config-clamp
189 spec:
190   template:
191     metadata:
192       labels:
193         app: policy-galera-config-clamp
194       name: policy-galera-config-clamp
195     spec:
196       imagePullSecrets:
197       - name: "default-docker-registry-key"
198       initContainers:
199         - name: policy-init-readiness
200           image: {{ .Values.global.repository }}/{{ .Values.global.image.readiness }}
201           imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
202           command:
203           - /app/ready.py
204           args:
205           - --job-name
206           - policy-galera-config
207           env:
208           - name: NAMESPACE
209             valueFrom:
210               fieldRef:
211                 apiVersion: v1
212                 fieldPath: metadata.namespace
213       containers:
214       - name: policy-galera-db-migrator-clamp
215         image: {{ .Values.global.dockerRepository }}/{{ .Values.dbmigrator.image }}
216         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
217         volumeMounts:
218         - mountPath: /dbcmd-config/db_migrator_policy_init.sh
219           name: {{ .Chart.Name }}-clamp-config
220           subPath: db_migrator_policy_init.sh
221         command:
222         - /bin/sh
223         - -cx
224         - |
225            /dbcmd-config/db_migrator_policy_init.sh
226         env:
227         - name: SQL_HOST
228           value: "{{ index .Values "mariadb-galera" "service" "name" }}"
229         - name: SQL_USER
230           valueFrom:
231             secretKeyRef:
232               name: mariadb-galera-db-user-credentials
233               key: login
234               optional: false
235         - name: SQL_PASSWORD
236           valueFrom:
237             secretKeyRef:
238               name: mariadb-galera-db-user-credentials
239               key: password
240               optional: false
241         - name: SQL_DB
242           value: {{ .Values.dbmigrator.clampacm.schema }}
243         - name: POLICY_HOME
244           value: {{ .Values.dbmigrator.policy_home }}
245         - name: SCRIPT_DIRECTORY
246           value: "sql"
247         resources:
248           limits:
249             cpu: 1
250             memory: 4Gi
251           requests:
252             cpu: 100m
253             memory: 1Gi
254       restartPolicy: Never
255       serviceAccountName: {{ .Chart.Name }}-read
256       volumes:
257         - name: {{ .Chart.Name }}-clamp-config
258           configMap:
259             name: {{ .Chart.Name }}-db-configmap
260             defaultMode: 0755
261             items:
262               - key: db_migrator_policy_init.sh
263                 path: db_migrator_policy_init.sh