26a76cc70219995ad6b9f28411744fe2e58daa8a
[it/otf.git] / smo-o1-vth / helm / o1-vth / 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       containers:\r
45       - name: {{ .Values.appName}}\r
46         image: {{ .Values.image}}\r
47         imagePullPolicy: Always\r
48         ports:\r
49         - name: http\r
50           containerPort: 5000\r
51           # nodePort: {{.Values.nodePort}}\r
52           protocol: TCP\r
53         env:\r
54         - name: NAMESPACE\r
55           value: {{.Values.namespace}}\r
56         - name: APP_NAME\r
57           value: {{ .Values.appName}}\r
58         - name: APP_VERSION\r
59           value: {{.Values.version}}\r
60         - name: HTTP\r
61           value: {{ .Values.HTTP}}\r
62         - name: HTTPS\r
63           value: {{ .Values.HTTPS}}\r
64         - name: BASE_URL\r
65           value: {{ .Values.BASE_URL}}\r
66         # - name: USER\r
67         #   valueFrom:\r
68         #     secretKeyRef:\r
69         #       name: {{ .Values.appName}}\r
70         #       key: username\r
71         # - name: PW\r
72         #   valueFrom:\r
73         #     secretKeyRef:\r
74         #       name: {{ .Values.appName}}\r
75         #       key: password\r
76         volumeMounts:\r
77         - name: {{.Values.appName}}-cert-volume\r
78           mountPath: /opt/cert\r
79         livenessProbe:\r
80           httpGet:\r
81             path: {{.Values.health}}\r
82             port: http\r
83             scheme: HTTP\r
84             httpHeaders:\r
85               - name: X-Custom-Header\r
86                 value: Alive\r
87           initialDelaySeconds: 30\r
88           timeoutSeconds: 30\r
89           periodSeconds: 30\r
90         readinessProbe:\r
91           httpGet:\r
92             path: {{.Values.health}}\r
93             port: http\r
94             scheme: HTTP\r
95             httpHeaders:\r
96               - name: X-Custom-Header\r
97                 value: Ready\r
98           initialDelaySeconds: 30\r
99           timeoutSeconds: 30\r
100           periodSeconds: 30\r
101       restartPolicy: Always\r