eee143b5a5598f080a55200517bb4afdc3ee3aea
[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
131         image: {{ .Values.global.repository }}/{{ .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 }}-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.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 }}-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