updated docker/helm files for svc,ping,robot,ssh, and o1
[it/otf.git] / otf-service-api / helm / otf-service-api / 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       # revisionHistoryLimit: 1   # keep one replica set to allow rollback\r
36       # minReadySeconds: 10\r
37       # strategy:\r
38       #   # indicate which strategy we want for rolling update\r
39       #   type: RollingUpdate\r
40       #   rollingUpdate:\r
41       #     maxSurge: 1\r
42       #     maxUnavailable: 1\r
43       {{ if .Values.pullSecret }}\r
44       imagePullSecrets:\r
45         - name: {{ .Values.pullSecret }}\r
46       {{ end }}\r
47       serviceAccount: default\r
48       volumes:\r
49 #      - name: {{ .Values.appName}}-aaf-volume\r
50 #        secret:\r
51 #          secretName: {{.Values.sharedSecret}}\r
52       - name: {{ .Values.appName}}-keyfile-volume\r
53         secret:\r
54           secretName: {{.Values.sharedSecret}}\r
55           optional: true\r
56           items:\r
57           - key: cadi_keyfile\r
58             path: keyfile\r
59       - name: {{ .Values.appName}}-cert-volume\r
60         secret:\r
61           secretName: {{.Values.sharedCert}}\r
62           optional: true\r
63           items:\r
64           - key: PKCS12_CERT\r
65             {{if or (eq .Values.env "prod") (eq .Values.env "prod-dr")}}\r
66             path: {{ .Values.cert.prod.name | quote }}\r
67             {{ else if eq  .Values.env "st" }}\r
68             path: {{ .Values.cert.st.name | quote }}\r
69             {{ else }}\r
70             path: {{ .Values.cert.dev.name | quote }}\r
71             {{ end }}          \r
72       {{ if or (eq .Values.env "st") (eq .Values.env "prod-dr")}}\r
73       {{else}}\r
74 #      - name: logging-pvc\r
75 #        persistentVolumeClaim:\r
76 #          {{if eq .Values.env "prod"}}\r
77 #          claimName: {{ .Values.pvc.prod | quote }}\r
78 #          {{ else }}\r
79 #          claimName: {{ .Values.pvc.dev | quote }}\r
80 #          {{ end }}\r
81       {{end}}\r
82       containers:\r
83       - name: {{ .Values.appName}}\r
84         image: {{ .Values.image}}\r
85         imagePullPolicy: Always\r
86         ports:\r
87         - name: https\r
88           containerPort: 8443\r
89           # nodePort: {{.Values.nodePort}}\r
90           protocol: TCP\r
91        # {{ if eq .Values.env "st"}}\r
92        # resources:\r
93        #   limits: \r
94        #     memory: "3Gi"\r
95        #     cpu: "1.8"\r
96        #   requests:\r
97        #     memory: "2Gi"\r
98        #     cpu: "1"\r
99        # {{else}}  \r
100        # resources:\r
101        #   limits:\r
102        #     memory: "6Gi"\r
103        #     cpu: "4"\r
104        #   requests:\r
105        #     memory: "2Gi"\r
106        #     cpu: "1.5"\r
107        # {{ end }}\r
108         env:\r
109         - name: NAMESPACE\r
110           value: {{.Values.namespace}}\r
111         - name: APP_NAME\r
112           value: {{ .Values.appName}}\r
113         - name: AAF_PERM_TYPE\r
114           {{if or (eq .Values.env "prod") (eq .Values.env "prod-dr")}}\r
115           value: {{ .Values.aafPermType.prod | quote }}\r
116           {{ else if  eq .Values.env "st"}}\r
117           value: {{ .Values.aafPermType.st | quote }}\r
118           {{ else }}\r
119           value: {{ .Values.aafPermType.dev | quote }}\r
120           {{ end }}                 \r
121         - name: AAF_ID\r
122           valueFrom:\r
123             secretKeyRef:\r
124               name: {{ .Values.sharedSecret}}\r
125               key: aaf_id\r
126               optional: true\r
127         - name: AAF_MECH_PASSWORD\r
128           valueFrom:\r
129             secretKeyRef:\r
130               name: {{ .Values.sharedSecret}}\r
131               key: aaf_mech_password\r
132               optional: true\r
133         - name: AAF_PASSWORD\r
134           valueFrom:\r
135             secretKeyRef:\r
136               name: {{ .Values.sharedSecret}}\r
137               key: aaf_password\r
138               optional: true\r
139         # - name: CADI_KEYFILE\r
140         #   valueFrom:\r
141         #     secretKeyRef:\r
142         #       name: {{ .Values.sharedSecret}}\r
143         #       key: keyfile_secret_path\r
144         #       optional: true\r
145         - name: CADI_HOSTNAME\r
146           {{if eq .Values.env "prod"}}\r
147           value: {{ .Values.cadiHostname.prod | quote }}\r
148           {{else if  eq .Values.env "prod-dr"}}\r
149           value: {{ .Values.cadiHostname.prod_dr | quote }}\r
150           {{else if  eq .Values.env "st"}}\r
151           value: {{ .Values.cadiHostname.st | quote }} \r
152           {{ else }}\r
153           value: {{ .Values.cadiHostname.dev | quote }}\r
154           {{ end }}\r
155         - name: APP_VERSION\r
156           value: {{.Values.version}}\r
157         - name: OTF_MONGO_HOSTS\r
158           value: {{ .Values.one_click.mongo.ip | quote }}\r
159           #valueFrom:\r
160           #  secretKeyRef:\r
161           #    name: {{ .Values.one_click.mongo_secret_name}}\r
162           #    key: mongodb_ip\r
163           #    optional: false\r
164           #{{if or (eq .Values.env "prod") (eq .Values.env "prod-dr")}}\r
165           #value: {{ .Values.otf.mongo.prod.host | quote }}\r
166           #{{ else if eq  .Values.env "st" }}\r
167           #value: {{ .Values.otf.mongo.st.host | quote }}\r
168           #{{ else }}\r
169           #value: {{ .Values.otf.mongo.dev.host | quote }}\r
170           #{{ end }}\r
171         - name: OTF_MONGO_USERNAME\r
172           #value: root\r
173           #value: otfuser\r
174           valueFrom:\r
175             secretKeyRef:\r
176               name: {{ .Values.one_click.mongo.secret_name}}\r
177               key: mongodb-username\r
178               optional: false\r
179         - name: OTF_MONGO_PASSWORD\r
180           #value: otf.123\r
181           #value: Today.123\r
182           valueFrom:\r
183             secretKeyRef:\r
184               name: {{ .Values.one_click.mongo.secret_name}}\r
185               key: mongodb-password\r
186               optional: false\r
187         - name: OTF_MONGO_REPLICASET\r
188           # value: {{ .Values.one_click.mongo.replicaset | quote }}\r
189           valueFrom:\r
190             secretKeyRef:\r
191               name: {{ .Values.one_click.mongo.secret_name}}\r
192               key: mongodb-replicaSet\r
193               optional: false\r
194           #{{if or (eq .Values.env "prod") (eq .Values.env "prod-dr")}}\r
195           #value: {{ .Values.otf.mongo.prod.replicaSet | quote }}\r
196           #{{else if  eq .Values.env "st"}}\r
197           #value: {{ .Values.otf.mongo.st.replicaSet | quote }}\r
198           #{{ else }}\r
199           #value: {{ .Values.otf.mongo.dev.replicaSet | quote }}\r
200           #{{ end }}\r
201         - name: OTF_MONGO_DATABASE\r
202           # value: {{ .Values.one_click.mongo.database | quote }}\r
203           valueFrom:\r
204             secretKeyRef:\r
205               name: {{ .Values.one_click.mongo.secret_name}}\r
206               key: mongodb-database\r
207               optional: false\r
208           #{{if or (eq .Values.env "prod") (eq .Values.env "prod-dr")}}\r
209           #value: {{ .Values.otf.mongo.prod.database | quote }}\r
210           #{{else if  eq .Values.env "st"}}\r
211           #value: {{ .Values.otf.mongo.st.database | quote }}\r
212           #{{ else }}\r
213           #value: {{ .Values.otf.mongo.dev.database | quote }}\r
214           #{{ end }}\r
215         - name: otf.camunda.host\r
216           {{if eq .Values.env "prod"}}\r
217           value: {{ .Values.otf.camunda.prod.host | quote }}\r
218           {{ else if eq  .Values.env "prod-dr" }}\r
219           value: {{ .Values.otf.camunda.prod_dr.host | quote }}\r
220           {{ else if eq  .Values.env "st" }}\r
221           value: {{ .Values.otf.camunda.st.host | quote }}\r
222           {{ else }}\r
223           value: {{ .Values.otf.camunda.dev.host | quote }}\r
224           {{ end }}\r
225         - name: otf.camunda.port\r
226           {{if eq .Values.env "prod"}}\r
227           value: {{ .Values.otf.camunda.prod.port | quote }}\r
228           {{ else if eq  .Values.env "prod-dr" }}\r
229           value: {{ .Values.otf.camunda.prod_dr.port | quote }}\r
230           {{ else if eq .Values.env "st"}}\r
231           value: {{ .Values.otf.camunda.st.port | quote }}\r
232           {{ else }}\r
233           value: {{ .Values.otf.camunda.dev.port | quote }}\r
234           {{ end }}\r
235         - name: otf.camunda.executionUri\r
236           value: {{.Values.otf.camunda.executionUri | quote }}\r
237         - name: otf.camunda.pollingUri\r
238           value: {{.Values.otf.camunda.pollingUri | quote }}\r
239         - name: otf.camunda.deploymentUri\r
240           value: {{.Values.otf.camunda.deploymentUri | quote }}\r
241         - name: otf.camunda.processDefinitionKeyUri\r
242           value: {{.Values.otf.camunda.processDefinitionKeyUri | quote }}\r
243         - name: otf.camunda.deploymentDeletionUri\r
244           value: {{.Values.otf.camunda.deploymentDeletionUri | quote }}\r
245         - name: otf.camunda.testDefinitionDeletionUri\r
246           value: {{.Values.otf.camunda.testDefinitionDeletionUri | quote }}\r
247 \r
248         - name: otf.camunda.uri.execute-test\r
249           value: {{.Values.otf.camunda.uri.execute_test | quote }}\r
250         - name: otf.camunda.uri.process-instance-completion-check\r
251           value: {{.Values.otf.camunda.uri.process_instance_completion_check | quote }}\r
252         - name: otf.camunda.uri.deploy-test-strategy-zip\r
253           value: {{.Values.otf.camunda.uri.deploy_test_strategy_zip | quote }}\r
254         - name: otf.camunda.uri.process-definition\r
255           value: {{.Values.otf.camunda.uri.process_definition | quote }}\r
256         - name: otf.camunda.uri.delete-test-strategy\r
257           value: {{.Values.otf.camunda.uri.delete_test_strategy | quote }}\r
258         - name: otf.camunda.uri.delete-test-strategy-test-definition-id\r
259           value: {{.Values.otf.camunda.uri.delete_test_strategy_test_definition_id | quote }}\r
260         - name: otf.camunda.uri.health\r
261           value: {{.Values.otf.camunda.uri.health | quote }}\r
262 \r
263         - name: otf.api.poll-interval\r
264           value: {{.Values.otf.api.poll_interval | quote}}\r
265         - name: otf.api.poll-attempts\r
266           value: {{.Values.otf.api.poll_attempts | quote}}\r
267 \r
268         - name: OTF_CERT_PATH\r
269           {{if or (eq .Values.env "prod") (eq .Values.env "prod-dr")}}\r
270           value: {{ .Values.cert.prod.path | quote }}\r
271           {{ else if eq .Values.env "st"}}\r
272           value: {{ .Values.cert.st.path | quote }}\r
273           {{ else }}\r
274           value: {{ .Values.cert.dev.path | quote }}\r
275           {{ end }}\r
276         - name: OTF_CERT_PASS\r
277           valueFrom:\r
278             secretKeyRef:\r
279               name: {{ .Values.sharedCert}}\r
280               key: PKCS12_KEY\r
281               optional: true   \r
282         volumeMounts:\r
283         # - name: {{.Values.appName}}-keyfile-volume\r
284         #   mountPath: /opt/secret\r
285         # - name: {{.Values.appName}}-cert-volume\r
286         #   mountPath: /opt/cert\r
287         {{ if or (eq .Values.env "st") (eq .Values.env "prod-dr")}}\r
288         {{else}}\r
289         # - name: logging-pvc\r
290         #   mountPath: "/otf/logs"\r
291         {{end}} \r
292         livenessProbe:\r
293           httpGet:\r
294             path: /otf/api/health/v1\r
295             port: https\r
296             scheme: HTTP\r
297             httpHeaders:\r
298             - name: X-Custom-Header\r
299               value: Alive\r
300           initialDelaySeconds: 30\r
301           timeoutSeconds: 30\r
302           periodSeconds: 30\r
303         readinessProbe:\r
304           httpGet:\r
305             path: /otf/api/health/v1\r
306             port: https\r
307             scheme: HTTP\r
308             httpHeaders:\r
309             - name: X-Custom-Header\r
310               value: Ready\r
311           initialDelaySeconds: 30\r
312           timeoutSeconds: 30\r
313           periodSeconds: 30\r
314       restartPolicy: Always\r