updating otf-deployment process with more details
[it/otf.git] / otf-frontend / helm / otf-frontend / templates / deployment.yaml
1 apiVersion: apps/v1\r
2 kind: Deployment\r
3 metadata:\r
4   name: {{ .Values.appName}}\r
5   namespace: {{.Values.namespace}}\r
6   labels:\r
7     app: {{ .Values.appName}}\r
8     version: {{.Values.version}}\r
9 spec:\r
10   revisionHistoryLimit: 1   # keep one replica set to allow rollback\r
11   minReadySeconds: 10\r
12   # strategy:\r
13   #   # indicate which strategy we want for rolling update\r
14   #   type: RollingUpdate\r
15   #   rollingUpdate:\r
16   #     maxSurge: 1\r
17   #     maxUnavailable: 1\r
18   {{if or (eq .Values.env "prod") (eq .Values.env "prod-dr")}}\r
19   replicas: {{ .Values.replicas.prod}}\r
20   {{ else if  eq .Values.env "st"}}\r
21   replicas: {{ .Values.replicas.st}}\r
22   {{ else }}\r
23   replicas: {{ .Values.replicas.dev}}\r
24   {{ end }}\r
25   selector:\r
26     matchLabels:\r
27       app: {{ .Values.appName}}\r
28       version: {{.Values.version}}\r
29   template:\r
30     metadata:\r
31       labels:\r
32         app: {{ .Values.appName}}\r
33         version: {{.Values.version}}\r
34     spec:\r
35       {{ if .Values.pullSecret }}\r
36       imagePullSecrets:\r
37         - name: {{ .Values.pullSecret }}\r
38       {{ end }}\r
39       serviceAccount: default\r
40       volumes:\r
41       - name: {{ .Values.appName}}-cert-volume\r
42         secret:\r
43           secretName: {{.Values.sharedCert}}\r
44           optional: true\r
45           items:\r
46           - key: PEM_CERT\r
47             path: otf.pem\r
48           - key: PEM_KEY\r
49             path: privateKey.pem\r
50       containers:\r
51       - name: {{ .Values.appName}}\r
52         image: {{ .Values.image}}\r
53         imagePullPolicy: Always\r
54         ports:\r
55         - name: http\r
56           containerPort: 80\r
57 \r
58           # nodePort: {{.Values.nodePort}}\r
59           protocol: TCP\r
60         # {{ if eq .Values.env "st"}}\r
61         # resources:\r
62         #   limits:\r
63         #     memory: "5Gi"\r
64         #     cpu: "3"\r
65         #   requests:\r
66         #     memory: "2Gi"\r
67         #     cpu: "1"\r
68         # {{else}}\r
69         # resources:\r
70         #   limits:\r
71         #     memory: "10Gi"\r
72         #     cpu: "6"\r
73         #   requests:\r
74         #     memory: "4Gi"\r
75         #     cpu: "2"\r
76         # {{end}}\r
77         env:\r
78         - name: ENV\r
79           {{ if or (eq .Values.env "prod") (eq .Values.env "prod-dr")}}\r
80           value: "production"\r
81           {{ else if eq .Values.env "st" }}\r
82           value: "system_test"\r
83           {{ else }}\r
84           value: "development"\r
85           {{ end }}\r
86         - name: NAMESPACE\r
87           value: {{.Values.namespace}}\r
88         - name: APP_NAME\r
89           value: {{ .Values.appName}}\r
90         - name: APP_VERSION\r
91           value: {{.Values.version}}\r
92         - name: OTF_URL\r
93           {{ if or (eq .Values.env "prod") (eq .Values.env "prod-dr")}}\r
94           value: {{.Values.otf.OTF_URL.prod | quote}}\r
95           {{ else if eq .Values.env "st" }}\r
96           value: {{.Values.otf.OTF_URL.st | quote}}\r
97           {{ else }}\r
98           value: {{.Values.otf.OTF_URL.dev | quote}}\r
99           {{ end }}\r
100         - name: OTF_EMAIL\r
101           value: {{.Values.otf.OTF_EMAIL | quote}}\r
102         - name: AUTHENTICATION_SECRET\r
103           valueFrom:\r
104             secretKeyRef:\r
105               name: {{ .Values.appName}}\r
106               key: authentication_secret\r
107               optional: true\r
108         - name: SERVICEAPI_URL\r
109           {{ if eq .Values.env "prod" }}\r
110           value: {{.Values.serviceApi.prod.SERVICEAPI_URL | quote}}\r
111           {{ else if eq .Values.env "prod-dr" }}\r
112           value: {{.Values.serviceApi.prod_dr.SERVICEAPI_URL | quote}}\r
113           {{ else if eq .Values.env "st" }}\r
114           value: {{.Values.serviceApi.st.SERVICEAPI_URL | quote}}\r
115           {{ else }}\r
116           value: {{.Values.serviceApi.dev.SERVICEAPI_URL | quote}}\r
117           {{ end }}\r
118         - name: SERVICEAPI_URIEXECUTETESTINSTANCE\r
119           {{ if eq .Values.env "prod" }}\r
120           value: {{.Values.serviceApi.prod.SERVICEAPI_URIEXECUTETESTINSTANCE | quote}}\r
121           {{ else if eq .Values.env "prod-dr" }}\r
122           value: {{.Values.serviceApi.prod_dr.SERVICEAPI_URIEXECUTETESTINSTANCE | quote}}          \r
123           {{ else if eq .Values.env "st" }}\r
124           value: {{.Values.serviceApi.st.SERVICEAPI_URIEXECUTETESTINSTANCE | quote}}\r
125           {{ else }}\r
126           value: {{.Values.serviceApi.dev.SERVICEAPI_URIEXECUTETESTINSTANCE | quote}}\r
127           {{ end }}\r
128         - name: SERVICEAPI_AAFID\r
129           value: {{.Values.one_click.mechId}}\r
130 #          valueFrom:\r
131 #            secretKeyRef:\r
132 #              name: {{ .Values.sharedSecret}}\r
133 #              key: aaf_id\r
134 #              optional: true\r
135         - name: SERVICEAPI_AAFPASSWORD\r
136           value: {{.Values.one_click.mechIdPassword}}\r
137 #          valueFrom:\r
138 #            secretKeyRef:\r
139 #              name: {{ .Values.sharedSecret}}\r
140 #              key: aaf_mech_password\r
141 #              optional: true\r
142         - name: CAMUNDAAPI_URL\r
143           {{ if eq .Values.env "prod" }}\r
144           value: {{ .Values.camundaApi.prod.CAMUNDAAPI_URL | quote}}\r
145           {{ else if eq .Values.env "prod-dr" }}\r
146           value: {{ .Values.camundaApi.prod_dr.CAMUNDAAPI_URL | quote}}          \r
147           {{ else if eq .Values.env "st" }}\r
148           value: {{ .Values.camundaApi.st.CAMUNDAAPI_URL | quote}}\r
149           {{ else }}\r
150           value: {{ .Values.camundaApi.dev.CAMUNDAAPI_URL | quote}}\r
151           {{ end }}\r
152         - name: CAMUNDAAPI_AAFID\r
153           value: {{.Values.one_click.mechId}}\r
154 #          valueFrom:\r
155 #            secretKeyRef:\r
156 #              name: {{ .Values.sharedSecret}}\r
157 #              key: aaf_id\r
158 #              optional: true\r
159         - name: CAMUNDAAPI_AAFPASSWORD\r
160           value: {{.Values.one_click.mechIdPassword}}\r
161 #          valueFrom:\r
162 #            secretKeyRef:\r
163 #              name: {{ .Values.sharedSecret}}\r
164 #              key: aaf_mech_password\r
165 #              optional: true\r
166         - name: MONGO_BASEURL\r
167           value: {{ .Values.one_click.mongo.ip | quote }}\r
168         #   {{ if or (eq .Values.env "prod") (eq .Values.env "prod-dr")}}\r
169         #   value: {{ .Values.mongo.prod.MONGO_BASEURL | quote}}\r
170         #   {{ else if eq .Values.env "st" }}\r
171         #   value: {{ .Values.mongo.st.MONGO_BASEURL | quote}}\r
172         #   {{ else }}\r
173         #   value: {{ .Values.mongo.dev.MONGO_BASEURL | quote}}\r
174         #   {{ end }}\r
175         - name: MONGO_DBOTF\r
176           # value: {{ .Values.one_click.mongo.database | quote }}\r
177           valueFrom:\r
178             secretKeyRef:\r
179               name: {{ .Values.one_click.mongo.secret_name}}\r
180               key: mongodb-database\r
181               optional: false\r
182           # {{ if or (eq .Values.env "prod") (eq .Values.env "prod-dr")}}\r
183           # value: {{ .Values.mongo.prod.MONGO_DBOTF | quote }}\r
184           # {{ else if eq .Values.env "st" }}\r
185           # value: {{ .Values.mongo.st.MONGO_DBOTF | quote }}\r
186           # {{ else }}\r
187           # value: {{ .Values.mongo.dev.MONGO_DBOTF | quote }}\r
188           # {{ end }}\r
189         - name: MONGO_REPLICASET\r
190           # value: {{ .Values.one_click.mongo.replicaset | quote }}\r
191           valueFrom:\r
192             secretKeyRef:\r
193               name: {{ .Values.one_click.mongo.secret_name}}\r
194               key: mongodb-replicaSet\r
195               optional: false\r
196           # {{ if or (eq .Values.env "prod") (eq .Values.env "prod-dr")}}\r
197           # value: {{ .Values.mongo.prod.MONGO_REPLICASET | quote }}\r
198           # {{ else if eq .Values.env "st" }}\r
199           # value: {{ .Values.mongo.st.MONGO_REPLICASET | quote }}\r
200           # {{ else }}\r
201           # value: {{ .Values.mongo.dev.MONGO_REPLICASET | quote }}\r
202           # {{ end }}\r
203         - name: MONGO_USERNAME\r
204           #value: root\r
205           #value: otfuser\r
206           valueFrom:\r
207             secretKeyRef:\r
208               name: {{ .Values.one_click.mongo.secret_name}}\r
209               key: mongodb-username\r
210               optional: false\r
211         - name: MONGO_PASSWORD\r
212           valueFrom:\r
213             secretKeyRef:\r
214               name: {{ .Values.one_click.mongo.secret_name}}\r
215               key: mongodb-password\r
216               optional: false\r
217         volumeMounts:\r
218         - name: {{.Values.appName}}-cert-volume\r
219           mountPath: /home/node/server/config/cert/\r
220         livenessProbe:\r
221           httpGet:\r
222             path: {{ .Values.healthEndpoint }}\r
223             port: 80\r
224             scheme: HTTP\r
225             httpHeaders:\r
226               - name: X-Custom-Header\r
227                 value: Alive\r
228           initialDelaySeconds: 30\r
229           timeoutSeconds: 30\r
230           periodSeconds: 60\r
231         readinessProbe:\r
232           httpGet:\r
233             path: {{ .Values.healthEndpoint }}\r
234             port: 80\r
235             scheme: HTTP\r
236             httpHeaders:\r
237               - name: X-Custom-Header\r
238                 value: Ready\r
239           initialDelaySeconds: 30\r
240           timeoutSeconds: 30\r
241           periodSeconds: 30\r
242       restartPolicy: Always\r