70cbeb578a34d3ae2631d4b7024e7fae3a3b26f5
[it/otf.git] / otf-frontend / helm / otf-frontend / templates / deployment.yaml
1 apiVersion: extensions/v1beta1\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           valueFrom:\r
130             secretKeyRef:\r
131               name: {{ .Values.sharedSecret}}\r
132               key: aaf_id\r
133               optional: true\r
134         - name: SERVICEAPI_AAFPASSWORD\r
135           valueFrom:\r
136             secretKeyRef:\r
137               name: {{ .Values.sharedSecret}}\r
138               key: aaf_mech_password\r
139               optional: true\r
140         - name: CAMUNDAAPI_URL\r
141           {{ if eq .Values.env "prod" }}\r
142           value: {{ .Values.camundaApi.prod.CAMUNDAAPI_URL | quote}}\r
143           {{ else if eq .Values.env "prod-dr" }}\r
144           value: {{ .Values.camundaApi.prod_dr.CAMUNDAAPI_URL | quote}}          \r
145           {{ else if eq .Values.env "st" }}\r
146           value: {{ .Values.camundaApi.st.CAMUNDAAPI_URL | quote}}\r
147           {{ else }}\r
148           value: {{ .Values.camundaApi.dev.CAMUNDAAPI_URL | quote}}\r
149           {{ end }}\r
150         - name: CAMUNDAAPI_AAFID\r
151           valueFrom:\r
152             secretKeyRef:\r
153               name: {{ .Values.sharedSecret}}\r
154               key: aaf_id\r
155               optional: true\r
156         - name: CAMUNDAAPI_AAFPASSWORD\r
157           valueFrom:\r
158             secretKeyRef:\r
159               name: {{ .Values.sharedSecret}}\r
160               key: aaf_mech_password\r
161               optional: true\r
162         - name: MONGO_BASEURL\r
163           value: {{ .Values.one_click.mongo.ip | quote }}\r
164         #   {{ if or (eq .Values.env "prod") (eq .Values.env "prod-dr")}}\r
165         #   value: {{ .Values.mongo.prod.MONGO_BASEURL | quote}}\r
166         #   {{ else if eq .Values.env "st" }}\r
167         #   value: {{ .Values.mongo.st.MONGO_BASEURL | quote}}\r
168         #   {{ else }}\r
169         #   value: {{ .Values.mongo.dev.MONGO_BASEURL | quote}}\r
170         #   {{ end }}\r
171         - name: MONGO_DBOTF\r
172           # value: {{ .Values.one_click.mongo.database | quote }}\r
173           valueFrom:\r
174             secretKeyRef:\r
175               name: {{ .Values.one_click.mongo.secret_name}}\r
176               key: mongodb-database\r
177               optional: false\r
178           # {{ if or (eq .Values.env "prod") (eq .Values.env "prod-dr")}}\r
179           # value: {{ .Values.mongo.prod.MONGO_DBOTF | quote }}\r
180           # {{ else if eq .Values.env "st" }}\r
181           # value: {{ .Values.mongo.st.MONGO_DBOTF | quote }}\r
182           # {{ else }}\r
183           # value: {{ .Values.mongo.dev.MONGO_DBOTF | quote }}\r
184           # {{ end }}\r
185         - name: MONGO_REPLICASET\r
186           # value: {{ .Values.one_click.mongo.replicaset | quote }}\r
187           valueFrom:\r
188             secretKeyRef:\r
189               name: {{ .Values.one_click.mongo.secret_name}}\r
190               key: mongodb-replicaSet\r
191               optional: false\r
192           # {{ if or (eq .Values.env "prod") (eq .Values.env "prod-dr")}}\r
193           # value: {{ .Values.mongo.prod.MONGO_REPLICASET | quote }}\r
194           # {{ else if eq .Values.env "st" }}\r
195           # value: {{ .Values.mongo.st.MONGO_REPLICASET | quote }}\r
196           # {{ else }}\r
197           # value: {{ .Values.mongo.dev.MONGO_REPLICASET | quote }}\r
198           # {{ end }}\r
199         - name: MONGO_USERNAME\r
200           #value: root\r
201           #value: otfuser\r
202           valueFrom:\r
203             secretKeyRef:\r
204               name: {{ .Values.one_click.mongo.secret_name}}\r
205               key: mongodb-username\r
206               optional: false\r
207         - name: MONGO_PASSWORD\r
208           #value: otf.123\r
209           #value: Today.123\r
210           valueFrom:\r
211             secretKeyRef:\r
212               name: {{ .Values.one_click.mongo.secret_name}}\r
213               key: mongodb-password\r
214               optional: false\r
215         volumeMounts:\r
216         - name: {{.Values.appName}}-cert-volume\r
217           mountPath: /home/node/server/config/cert/\r
218         livenessProbe:\r
219           httpGet:\r
220             path: {{ .Values.healthEndpoint }}\r
221             port: 80\r
222             scheme: HTTP\r
223             httpHeaders:\r
224               - name: X-Custom-Header\r
225                 value: Alive\r
226           initialDelaySeconds: 30\r
227           timeoutSeconds: 30\r
228           periodSeconds: 60\r
229         readinessProbe:\r
230           httpGet:\r
231             path: {{ .Values.healthEndpoint }}\r
232             port: 80\r
233             scheme: HTTP\r
234             httpHeaders:\r
235               - name: X-Custom-Header\r
236                 value: Ready\r
237           initialDelaySeconds: 30\r
238           timeoutSeconds: 30\r
239           periodSeconds: 30\r
240       restartPolicy: Always\r