--- /dev/null
+apiVersion: extensions/v1beta1\r
+kind: Deployment\r
+metadata:\r
+ name: {{ .Values.global.mongodb.appName }}\r
+ namespace: {{.Values.global.mongodb.namespace }}\r
+ labels:\r
+ app: {{ .Values.global.mongodb.appName }}\r
+ version: {{.Values.global.mongodb.version }}\r
+spec:\r
+ revisionHistoryLimit: 1 # keep one replica set to allow rollback\r
+ minReadySeconds: 10\r
+ strategy:\r
+ # indicate which strategy we want for rolling update\r
+ type: RollingUpdate\r
+ rollingUpdate:\r
+ maxSurge: 1\r
+ maxUnavailable: 1\r
+ replicas: {{ .Values.global.mongodb.replicas }}\r
+ selector:\r
+ matchLabels:\r
+ app: {{ .Values.global.mongodb.appName }}\r
+ version: {{.Values.global.mongodb.version }}\r
+ template:\r
+ metadata:\r
+ labels:\r
+ app: {{ .Values.global.mongodb.appName }}\r
+ version: {{.Values.global.mongodb.version }}\r
+ spec:\r
+ serviceAccount: default\r
+ containers:\r
+ - name: {{ .Values.global.mongodb.appName }}\r
+ image: {{ .Values.global.mongodb.image.registry }}/{{ .Values.global.mongodb.image.repository }}\r
+ imagePullPolicy: Always \r
+ env:\r
+ - name: MONGODB_PASSWORD\r
+ valueFrom:\r
+ secretKeyRef:\r
+ name : {{ .Values.global.mongodb.appName }}\r
+ key: mongo_password\r
+ - name: MONGODB_ROOT_PASSWORD\r
+ valueFrom:\r
+ secretKeyRef:\r
+ name : {{ .Values.global.mongodb.appName }}\r
+ key: mongo_root_password\r
+ - name: MONGODB_USERNAME\r
+ value: {{ .Values.global.mongodb.mongodbUsername | quote }}\r
+ - name: MONGODB_DATABASE\r
+ value: {{ .Values.global.mongodb.mongodbDatabase | quote }}\r
+ ports:\r
+ - name: mongodb\r
+ containerPort: 27017\r
+ hostPort: 27017\r
+ resources:\r
+ limits: \r
+ memory: {{ .Values.global.mongodb.resources.limits.memory }}\r
+ cpu: {{ .Values.global.mongodb.resources.limits.cpu }}\r
+ requests:\r
+ memory: {{ .Values.global.mongodb.resources.requests.memory }}\r
+ cpu: {{ .Values.global.mongodb.resources.requests.cpu }}\r
+ lifecycle:\r
+ postStart:\r
+ exec:\r
+ command: ["/bin/bash", "-c", "cd data/scripts;./init_db.sh"]\r
+ volumeMounts:\r
+ - name: custom-init-scripts\r
+ mountPath: /data/scripts\r
+ volumes:\r
+ - name: custom-init-scripts\r
+ configMap:\r
+ name: {{ .Values.global.mongodb.appName }}-init-scripts\r
+ defaultMode: 0755\r
+ restartPolicy: Always\r