added otf-frontend default config files
[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       serviceAccount: default\r
36       volumes:\r
37       - name: {{ .Values.appName}}-cert-volume\r
38         secret:\r
39           secretName: {{.Values.sharedCert}}\r
40           optional: true\r
41           items:\r
42           - key: PEM_CERT\r
43             path: otf.pem\r
44           - key: PEM_KEY\r
45             path: privateKey.pem\r
46       containers:\r
47       - name: {{ .Values.appName}}\r
48         image: {{ .Values.image}}\r
49         imagePullPolicy: Always\r
50         ports:\r
51         - name: https\r
52           containerPort: 443\r
53           nodePort: {{.Values.nodePort}}\r
54           protocol: TCP\r
55         {{ if eq .Values.env "st"}}\r
56         resources:\r
57           limits:\r
58             memory: "5Gi"\r
59             cpu: "3"\r
60           requests:\r
61             memory: "2Gi"\r
62             cpu: "1"\r
63         {{else}}\r
64         resources:\r
65           limits:\r
66             memory: "10Gi"\r
67             cpu: "6"\r
68           requests:\r
69             memory: "4Gi"\r
70             cpu: "2"\r
71         {{end}}\r
72         env:\r
73         - name: ENV\r
74           {{ if or (eq .Values.env "prod") (eq .Values.env "prod-dr")}}\r
75           value: "production"\r
76           {{ else if eq .Values.env "st" }}\r
77           value: "system_test"\r
78           {{ else }}\r
79           value: "development"\r
80           {{ end }}\r
81         - name: NAMESPACE\r
82           value: {{.Values.namespace}}\r
83         - name: APP_NAME\r
84           value: {{ .Values.appName}}\r
85         - name: APP_VERSION\r
86           value: {{.Values.version}}\r
87         - name: OTF_URL\r
88           {{ if or (eq .Values.env "prod") (eq .Values.env "prod-dr")}}\r
89           value: {{.Values.otf.OTF_URL.prod | quote}}\r
90           {{ else if eq .Values.env "st" }}\r
91           value: {{.Values.otf.OTF_URL.st | quote}}\r
92           {{ else }}\r
93           value: {{.Values.otf.OTF_URL.dev | quote}}\r
94           {{ end }}\r
95         - name: OTF_EMAIL\r
96           value: {{.Values.otf.OTF_EMAIL | quote}}\r
97         - name: AUTHENTICATION_SECRET\r
98           valueFrom:\r
99             secretKeyRef:\r
100               name: {{ .Values.appName}}\r
101               key: authentication_secret\r
102               optional: true\r
103         - name: SERVICEAPI_URL\r
104           {{ if eq .Values.env "prod" }}\r
105           value: {{.Values.serviceApi.prod.SERVICEAPI_URL | quote}}\r
106           {{ else if eq .Values.env "prod-dr" }}\r
107           value: {{.Values.serviceApi.prod_dr.SERVICEAPI_URL | quote}}\r
108           {{ else if eq .Values.env "st" }}\r
109           value: {{.Values.serviceApi.st.SERVICEAPI_URL | quote}}\r
110           {{ else }}\r
111           value: {{.Values.serviceApi.dev.SERVICEAPI_URL | quote}}\r
112           {{ end }}\r
113         - name: SERVICEAPI_URIEXECUTETESTINSTANCE\r
114           {{ if eq .Values.env "prod" }}\r
115           value: {{.Values.serviceApi.prod.SERVICEAPI_URIEXECUTETESTINSTANCE | quote}}\r
116           {{ else if eq .Values.env "prod-dr" }}\r
117           value: {{.Values.serviceApi.prod_dr.SERVICEAPI_URIEXECUTETESTINSTANCE | quote}}          \r
118           {{ else if eq .Values.env "st" }}\r
119           value: {{.Values.serviceApi.st.SERVICEAPI_URIEXECUTETESTINSTANCE | quote}}\r
120           {{ else }}\r
121           value: {{.Values.serviceApi.dev.SERVICEAPI_URIEXECUTETESTINSTANCE | quote}}\r
122           {{ end }}\r
123         - name: SERVICEAPI_AAFID\r
124           valueFrom:\r
125             secretKeyRef:\r
126               name: {{ .Values.sharedSecret}}\r
127               key: aaf_id\r
128               optional: true\r
129         - name: SERVICEAPI_AAFPASSWORD\r
130           valueFrom:\r
131             secretKeyRef:\r
132               name: {{ .Values.sharedSecret}}\r
133               key: aaf_mech_password\r
134               optional: true\r
135         - name: CAMUNDAAPI_URL\r
136           {{ if eq .Values.env "prod" }}\r
137           value: {{ .Values.camundaApi.prod.CAMUNDAAPI_URL | quote}}\r
138           {{ else if eq .Values.env "prod-dr" }}\r
139           value: {{ .Values.camundaApi.prod_dr.CAMUNDAAPI_URL | quote}}          \r
140           {{ else if eq .Values.env "st" }}\r
141           value: {{ .Values.camundaApi.st.CAMUNDAAPI_URL | quote}}\r
142           {{ else }}\r
143           value: {{ .Values.camundaApi.dev.CAMUNDAAPI_URL | quote}}\r
144           {{ end }}\r
145         - name: CAMUNDAAPI_AAFID\r
146           valueFrom:\r
147             secretKeyRef:\r
148               name: {{ .Values.sharedSecret}}\r
149               key: aaf_id\r
150               optional: true\r
151         - name: CAMUNDAAPI_AAFPASSWORD\r
152           valueFrom:\r
153             secretKeyRef:\r
154               name: {{ .Values.sharedSecret}}\r
155               key: aaf_mech_password\r
156               optional: true\r
157         - name: MONGO_BASEURL\r
158           {{ if or (eq .Values.env "prod") (eq .Values.env "prod-dr")}}\r
159           value: {{ .Values.mongo.prod.MONGO_BASEURL | quote}}\r
160           {{ else if eq .Values.env "st" }}\r
161           value: {{ .Values.mongo.st.MONGO_BASEURL | quote}}\r
162           {{ else }}\r
163           value: {{ .Values.mongo.dev.MONGO_BASEURL | quote}}\r
164           {{ end }}\r
165         - name: MONGO_DBOTF\r
166           {{ if or (eq .Values.env "prod") (eq .Values.env "prod-dr")}}\r
167           value: {{ .Values.mongo.prod.MONGO_DBOTF | quote }}\r
168           {{ else if eq .Values.env "st" }}\r
169           value: {{ .Values.mongo.st.MONGO_DBOTF | quote }}\r
170           {{ else }}\r
171           value: {{ .Values.mongo.dev.MONGO_DBOTF | quote }}\r
172           {{ end }}\r
173         - name: MONGO_REPLICASET\r
174           {{ if or (eq .Values.env "prod") (eq .Values.env "prod-dr")}}\r
175           value: {{ .Values.mongo.prod.MONGO_REPLICASET | quote }}\r
176           {{ else if eq .Values.env "st" }}\r
177           value: {{ .Values.mongo.st.MONGO_REPLICASET | quote }}\r
178           {{ else }}\r
179           value: {{ .Values.mongo.dev.MONGO_REPLICASET | quote }}\r
180           {{ end }}\r
181         - name: MONGO_USERNAME\r
182           valueFrom:\r
183             secretKeyRef:\r
184               name: {{ .Values.appName}}\r
185               key: mongo_username\r
186               optional: true\r
187         - name: MONGO_PASSWORD\r
188           valueFrom:\r
189             secretKeyRef:\r
190               name: {{ .Values.appName}}\r
191               key: mongo_password\r
192               optional: true\r
193         volumeMounts:\r
194         - name: {{.Values.appName}}-cert-volume\r
195           mountPath: /home/node/server/config/cert/\r
196         livenessProbe:\r
197           httpGet:\r
198             path: {{ .Values.healthEndpoint }}\r
199             port: https\r
200             scheme: HTTPS\r
201             httpHeaders:\r
202               - name: X-Custom-Header\r
203                 value: Alive\r
204           initialDelaySeconds: 30\r
205           timeoutSeconds: 30\r
206           periodSeconds: 60\r
207         readinessProbe:\r
208           httpGet:\r
209             path: {{ .Values.healthEndpoint }}\r
210             port: https\r
211             scheme: HTTPS\r
212             httpHeaders:\r
213               - name: X-Custom-Header\r
214                 value: Ready\r
215           initialDelaySeconds: 30\r
216           timeoutSeconds: 30\r
217           periodSeconds: 30\r
218       restartPolicy: Always\r