43ca1d9864ea87d924f56b7245941b9fb2d002f4
[oom.git] / kubernetes / so / charts / so-sdc-controller / templates / deployment.yaml
1 # Copyright © 2018 AT&T USA
2 #
3 # Licensed under the Apache License, Version 2.0 (the "License");
4 # you may not use this file except in compliance with the License.
5 # You may obtain a copy of the License at
6 #
7 #       http://www.apache.org/licenses/LICENSE-2.0
8 #
9 # Unless required by applicable law or agreed to in writing, software
10 # distributed under the License is distributed on an "AS IS" BASIS,
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 # See the License for the specific language governing permissions and
13 # limitations under the License.
14 apiVersion: extensions/v1beta1
15 kind: Deployment
16 metadata:
17   name: {{ include "common.fullname" . }}
18   namespace: {{ include "common.namespace" . }}
19   labels:
20     app: {{ include "common.fullname" . }}
21     chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
22     release: {{ .Release.Name }}
23 spec:
24   replicas: {{ index .Values.replicaCount }}
25   minReadySeconds: {{ index .Values.minReadySeconds }}
26   strategy:
27     type: {{ index .Values.updateStrategy.type }}
28     rollingUpdate:
29       maxUnavailable: {{ index .Values.updateStrategy.maxUnavailable }}
30       maxSurge: {{ index .Values.updateStrategy.maxSurge }}
31   template:
32     metadata:
33       labels:
34         app: {{ include "common.name" . }}
35         release: {{ .Release.Name }}
36     spec:
37       containers:
38       - name: {{ include "common.name" . }}
39         image: {{ include "common.repository" . }}/{{ .Values.image }}
40         resources:
41 {{ toYaml (pluck .Values.flavor .Values.resources| first) | indent 12 }}
42         env:
43         - name: DB_HOST
44           valueFrom:
45             secretKeyRef:
46               name: {{ .Release.Name}}-so-db-secrets
47               key: mariadb.readwrite.host
48         - name: DB_PORT
49           valueFrom:
50             secretKeyRef:
51               name: {{ .Release.Name}}-so-db-secrets
52               key: mariadb.readwrite.port
53         - name: DB_USERNAME
54           valueFrom:
55             secretKeyRef:
56               name: {{ .Release.Name}}-so-db-secrets
57               key: mariadb.readwrite.rolename
58         - name: DB_PASSWORD
59           valueFrom:
60             secretKeyRef:
61               name: {{ .Release.Name}}-so-db-secrets
62               key: mariadb.readwrite.password
63         - name: DB_ADMIN_USERNAME
64           valueFrom:
65             secretKeyRef:
66               name: {{ .Release.Name}}-so-db-secrets
67               key: mariadb.admin.rolename
68         - name: DB_ADMIN_PASSWORD
69           valueFrom:
70             secretKeyRef:
71               name: {{ .Release.Name}}-so-db-secrets
72               key: mariadb.admin.password
73         envFrom:
74         - configMapRef:
75             name: {{ include "common.fullname" . }}-configmap
76         imagePullPolicy:  {{ index .Values "global" "pullPolicy" }}
77         volumeMounts:
78         - name: logs
79           mountPath: /app/logs
80         - name: config
81           mountPath: /app/config
82           readOnly: true
83         livenessProbe:
84           httpGet:
85             path: {{- index .Values.livenessProbe.path|indent 2}}
86             port: {{ index .Values.containerPort }}
87             scheme: {{- index .Values.livenessProbe.scheme| indent 2}}
88           initialDelaySeconds: {{ index .Values.livenessProbe.initialDelaySeconds}}
89           periodSeconds: {{ index .Values.livenessProbe.periodSeconds}}
90           timeoutSeconds: {{ index .Values.livenessProbe.timeoutSeconds}}
91           successThreshold: {{ index .Values.livenessProbe.successThreshold}}
92           failureThreshold: {{ index .Values.livenessProbe.failureThreshold}}
93         ports:
94         - containerPort: {{ index .Values.containerPort }}
95           name: {{ .Values.service.portName }}
96           protocol: TCP
97       volumes:
98       - name: logs
99         emptyDir: {}
100       - name: config
101         configMap:
102             name: {{ include "common.fullname" . }}-app-configmap
103       imagePullSecrets:
104         - name: "{{ include "common.namespace" . }}-docker-registry-key"