updated docker/helm files for svc,ping,robot,ssh, and o1
[it/otf.git] / otf-robot-test-head / helm / otf-robot-test-head / 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\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: 0\r
17       maxUnavailable: 1\r
18   replicas: {{ .Values.replicas}}\r
19   selector:\r
20     matchLabels:\r
21       app: {{ .Values.appName}}\r
22       version: {{.Values.version}}\r
23   template:\r
24     metadata:\r
25       labels:\r
26         app: {{ .Values.appName}}\r
27         version: {{.Values.version}}\r
28     spec:\r
29       {{ if .Values.pullSecret }}\r
30       imagePullSecrets:\r
31         - name: {{ .Values.pullSecret }}\r
32       {{ end }}\r
33       serviceAccount: default\r
34       volumes:\r
35       - name: {{ .Values.appName}}-cert-volume\r
36         secret:\r
37           secretName: {{.Values.sharedCert}}\r
38           optional: true\r
39           items:\r
40           - key: PEM_CERT\r
41             path: otf.pem\r
42           - key: PEM_KEY\r
43             path: privateKey.pem\r
44       {{ if or (eq .Values.env "st") (eq .Values.env "prod-dr")}}\r
45       {{else}}\r
46       - name: logging-pvc\r
47         # persistentVolumeClaim:\r
48         #   {{if eq .Values.env "prod"}}\r
49         #   claimName: {{ .Values.pvc.prod | quote }}\r
50         #   {{ else }}\r
51         #   claimName: {{ .Values.pvc.dev | quote }}\r
52         #   {{ end }}\r
53       {{end}}\r
54       containers:\r
55       - name: {{ .Values.appName}}\r
56         image: {{ .Values.image}}\r
57         imagePullPolicy: Always\r
58         ports:\r
59         - name: http\r
60           containerPort: 5000\r
61           # nodePort: {{.Values.nodePort}}\r
62           protocol: TCP\r
63         env:\r
64         - name: NAMESPACE\r
65           value: {{.Values.namespace}}\r
66         - name: APP_NAME\r
67           value: {{ .Values.appName}}\r
68         - name: APP_VERSION\r
69           value: {{.Values.version}}\r
70         - name: OTF_MONGO_HOSTS\r
71           value: {{ .Values.one_click.mongo.ip | quote }}\r
72           # {{ if or (eq .Values.env "prod") (eq .Values.env "prod-dr")}}\r
73           # value: {{ .Values.mongo.prod.OTF_MONGO_HOSTS | quote}}\r
74           # {{ else if eq .Values.env "st" }}\r
75           # value: {{ .Values.mongo.st.OTF_MONGO_HOSTS | quote}}\r
76           # {{ else }}\r
77           # value: {{ .Values.mongo.dev.OTF_MONGO_HOSTS | quote}}\r
78           # {{ end }}\r
79         - name: OTF_MONGO_DATABASE\r
80           valueFrom:\r
81             secretKeyRef:\r
82               name: {{ .Values.one_click.mongo.secret_name}}\r
83               key: mongodb-database\r
84               optional: false\r
85           # {{ if or (eq .Values.env "prod") (eq .Values.env "prod-dr")}}\r
86           # value: {{ .Values.mongo.prod.OTF_MONGO_DBOTF | quote }}\r
87           # {{ else if eq .Values.env "st" }}\r
88           # value: {{ .Values.mongo.st.OTF_MONGO_DBOTF | quote }}\r
89           # {{ else }}\r
90           # value: {{ .Values.mongo.dev.OTF_MONGO_DBOTF | quote }}\r
91           # {{ end }}\r
92         - name: OTF_MONGO_REPLICASET\r
93           valueFrom:\r
94             secretKeyRef:\r
95               name: {{ .Values.one_click.mongo.secret_name}}\r
96               key: mongodb-replicaSet\r
97               optional: false\r
98           # {{ if or (eq .Values.env "prod") (eq .Values.env "prod-dr")}}\r
99           # value: {{ .Values.mongo.prod.OTF_MONGO_REPLICASET | quote }}\r
100           # {{ else if eq .Values.env "st" }}\r
101           # value: {{ .Values.mongo.st.OTF_MONGO_REPLICASET | quote }}          \r
102           # {{ else }}\r
103           # value: {{ .Values.mongo.dev.OTF_MONGO_REPLICASET | quote }}\r
104           # {{ end }}\r
105         - name: OTF_MONGO_USERNAME\r
106           valueFrom:\r
107             secretKeyRef:\r
108               name: {{ .Values.one_click.mongo.secret_name}}\r
109               key: mongodb-username\r
110               optional: false\r
111           # valueFrom:\r
112           #   secretKeyRef:\r
113           #     name: {{ .Values.appName}}\r
114           #     key: mongo_username\r
115           #     optional: true\r
116         - name: OTF_MONGO_PASSWORD\r
117           # value: {{ .Values.mongo.password }}\r
118           valueFrom:\r
119             secretKeyRef:\r
120               name: {{ .Values.one_click.mongo.secret_name}}\r
121               key: mongodb-password\r
122               optional: false\r
123           # valueFrom:\r
124           #   secretKeyRef:\r
125           #     name: {{ .Values.appName}}\r
126           #     key: mongo_password\r
127           #     optional: true\r
128         - name: APP_SETTINGS\r
129           value: {{ .Values.robot.APP_SETTINGS | quote }} \r
130         {{ if eq .Values.env "st"}}\r
131         resources:\r
132           limits: \r
133             memory: "2Gi"\r
134             cpu: "1"\r
135           requests:\r
136             memory: "1Gi"\r
137             cpu: "500m"\r
138         {{else}}  \r
139         resources:\r
140           limits:\r
141             memory: "4Gi"\r
142             cpu: "2"\r
143           requests:\r
144             memory: "1Gi"\r
145             cpu: "1"\r
146         {{end}}    \r
147         volumeMounts:\r
148         - name: {{.Values.appName}}-cert-volume\r
149           mountPath: /opt/cert\r
150         {{ if or (eq .Values.env "st") (eq .Values.env "prod-dr")}}\r
151         {{else}}\r
152         - name: logging-pvc\r
153           mountPath: "/otf/logs"\r
154         {{end}}   \r
155         livenessProbe:\r
156           httpGet:\r
157             path: {{.Values.health}}\r
158             port: http\r
159             scheme: HTTP\r
160             httpHeaders:\r
161               - name: X-Custom-Header\r
162                 value: Alive\r
163           initialDelaySeconds: 60\r
164           #30\r
165           timeoutSeconds: 30\r
166           periodSeconds: 30\r
167         readinessProbe:\r
168           httpGet:\r
169             path: {{.Values.health}}\r
170             port: http\r
171             scheme: HTTP\r
172             httpHeaders:\r
173               - name: X-Custom-Header\r
174                 value: Ready\r
175           initialDelaySeconds: 60\r
176           # 30\r
177           timeoutSeconds: 30\r
178           periodSeconds: 30\r
179       restartPolicy: Always\r