--- /dev/null
+apiVersion: extensions/v1beta1\r
+kind: Deployment\r
+metadata:\r
+ name: {{ .Values.appName}}\r
+ namespace: {{.Values.namespace}}\r
+ labels:\r
+ app: {{ .Values.appName}}\r
+ version: {{.Values.version}}\r
+spec:\r
+ revisionHistoryLimit: 1\r
+ minReadySeconds: 10\r
+ strategy:\r
+ # indicate which strategy we want for rolling update\r
+ type: RollingUpdate\r
+ rollingUpdate:\r
+ maxSurge: 0\r
+ maxUnavailable: 1\r
+ replicas: {{ .Values.replicas}}\r
+ selector:\r
+ matchLabels:\r
+ app: {{ .Values.appName}}\r
+ version: {{.Values.version}}\r
+ template:\r
+ metadata:\r
+ labels:\r
+ app: {{ .Values.appName}}\r
+ version: {{.Values.version}}\r
+ spec:\r
+ serviceAccount: default\r
+ volumes:\r
+ - name: {{ .Values.appName}}-cert-volume\r
+ secret:\r
+ secretName: {{.Values.sharedCert}}\r
+ optional: true\r
+ items:\r
+ - key: PEM_CERT\r
+ path: otf.pem\r
+ - key: PEM_KEY\r
+ path: privateKey.pem\r
+ {{ if or (eq .Values.env "st") (eq .Values.env "prod-dr")}}\r
+ {{else}}\r
+ - name: logging-pvc\r
+ persistentVolumeClaim:\r
+ {{if eq .Values.env "prod"}}\r
+ claimName: {{ .Values.pvc.prod | quote }}\r
+ {{ else }}\r
+ claimName: {{ .Values.pvc.dev | quote }}\r
+ {{ end }}\r
+ {{end}}\r
+ containers:\r
+ - name: {{ .Values.appName}}\r
+ image: {{ .Values.image}}\r
+ imagePullPolicy: Always\r
+ ports:\r
+ - name: http\r
+ containerPort: 5000\r
+ nodePort: {{.Values.nodePort}}\r
+ protocol: TCP\r
+ env:\r
+ - name: NAMESPACE\r
+ value: {{.Values.namespace}}\r
+ - name: APP_NAME\r
+ value: {{ .Values.appName}}\r
+ - name: APP_VERSION\r
+ value: {{.Values.version}}\r
+ - name: OTF_MONGO_HOSTS\r
+ {{ if or (eq .Values.env "prod") (eq .Values.env "prod-dr")}}\r
+ value: {{ .Values.mongo.prod.OTF_MONGO_HOSTS | quote}}\r
+ {{ else if eq .Values.env "st" }}\r
+ value: {{ .Values.mongo.st.OTF_MONGO_HOSTS | quote}}\r
+ {{ else }}\r
+ value: {{ .Values.mongo.dev.OTF_MONGO_HOSTS | quote}}\r
+ {{ end }}\r
+ - name: OTF_MONGO_DATABASE\r
+ {{ if or (eq .Values.env "prod") (eq .Values.env "prod-dr")}}\r
+ value: {{ .Values.mongo.prod.OTF_MONGO_DBOTF | quote }}\r
+ {{ else if eq .Values.env "st" }}\r
+ value: {{ .Values.mongo.st.OTF_MONGO_DBOTF | quote }}\r
+ {{ else }}\r
+ value: {{ .Values.mongo.dev.OTF_MONGO_DBOTF | quote }}\r
+ {{ end }}\r
+ - name: OTF_MONGO_REPLICASET\r
+ {{ if or (eq .Values.env "prod") (eq .Values.env "prod-dr")}}\r
+ value: {{ .Values.mongo.prod.OTF_MONGO_REPLICASET | quote }}\r
+ {{ else if eq .Values.env "st" }}\r
+ value: {{ .Values.mongo.st.OTF_MONGO_REPLICASET | quote }} \r
+ {{ else }}\r
+ value: {{ .Values.mongo.dev.OTF_MONGO_REPLICASET | quote }}\r
+ {{ end }}\r
+ - name: OTF_MONGO_USERNAME\r
+ valueFrom:\r
+ secretKeyRef:\r
+ name: {{ .Values.appName}}\r
+ key: mongo_username\r
+ optional: true\r
+ - name: OTF_MONGO_PASSWORD\r
+ valueFrom:\r
+ secretKeyRef:\r
+ name: {{ .Values.appName}}\r
+ key: mongo_password\r
+ optional: true\r
+ - name: APP_SETTINGS\r
+ value: {{ .Values.robot.APP_SETTINGS | quote }} \r
+ {{ if eq .Values.env "st"}}\r
+ resources:\r
+ limits: \r
+ memory: "2Gi"\r
+ cpu: "1"\r
+ requests:\r
+ memory: "1Gi"\r
+ cpu: "500m"\r
+ {{else}} \r
+ resources:\r
+ limits:\r
+ memory: "4Gi"\r
+ cpu: "2"\r
+ requests:\r
+ memory: "1Gi"\r
+ cpu: "1"\r
+ {{end}} \r
+ volumeMounts:\r
+ - name: {{.Values.appName}}-cert-volume\r
+ mountPath: /opt/cert\r
+ {{ if or (eq .Values.env "st") (eq .Values.env "prod-dr")}}\r
+ {{else}}\r
+ - name: logging-pvc\r
+ mountPath: "/otf/logs"\r
+ {{end}} \r
+ livenessProbe:\r
+ httpGet:\r
+ path: {{.Values.health}}\r
+ port: http\r
+ scheme: HTTPS\r
+ httpHeaders:\r
+ - name: X-Custom-Header\r
+ value: Alive\r
+ initialDelaySeconds: 30\r
+ timeoutSeconds: 30\r
+ periodSeconds: 30\r
+ readinessProbe:\r
+ httpGet:\r
+ path: {{.Values.health}}\r
+ port: http\r
+ scheme: HTTPS\r
+ httpHeaders:\r
+ - name: X-Custom-Header\r
+ value: Ready\r
+ initialDelaySeconds: 30\r
+ timeoutSeconds: 30\r
+ periodSeconds: 30\r
+ restartPolicy: Always\r