Merge "[EXTAPI] Deploy R7 container image for external api"
[oom.git] / kubernetes / portal / components / portal-mariadb / templates / deployment.yaml
1 # Copyright © 2017 Amdocs, Bell Canada
2 # Modifications Copyright © 2018 AT&T
3 #
4 # Licensed under the Apache License, Version 2.0 (the "License");
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at
7 #
8 #       http://www.apache.org/licenses/LICENSE-2.0
9 #
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 # See the License for the specific language governing permissions and
14 # limitations under the License.
15
16 apiVersion: apps/v1
17 kind: Deployment
18 metadata:
19   name: {{ include "common.fullname" . }}
20   namespace: {{ include "common.namespace" . }}
21   labels:
22     app: {{ include "common.name" . }}
23     chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
24     release: {{ include "common.release" . }}
25     heritage: {{ .Release.Service }}
26 spec:
27   selector:
28     matchLabels:
29       app: {{ include "common.name" . }}
30   replicas: {{ .Values.replicaCount }}
31   template:
32     metadata:
33       labels:
34         app: {{ include "common.name" . }}
35         release: {{ include "common.release" . }}
36     spec:
37       containers:
38         - name: {{ include "common.name" . }}
39           image: "{{ include "common.repository" . }}/{{ .Values.image }}"
40           imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
41           ports:
42           - containerPort: {{ .Values.service.internalPort }}
43           # disable liveness probe when breakpoints set in debugger
44           # so K8s doesn't restart unresponsive container
45           {{- if eq .Values.liveness.enabled true }}
46           livenessProbe:
47             tcpSocket:
48               port: {{ .Values.service.internalPort }}
49             initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
50             periodSeconds: {{ .Values.liveness.periodSeconds }}
51           {{end -}}
52           readinessProbe:
53             tcpSocket:
54               port: {{ .Values.service.internalPort }}
55             initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
56             periodSeconds: {{ .Values.readiness.periodSeconds }}
57           env:
58             - name: MYSQL_HOST
59               value: "{{ include "common.servicename" . }}"
60             - name: MYSQL_ROOT_PASSWORD
61               valueFrom:
62                 secretKeyRef:
63                   name: {{ template "common.fullname" . }}
64                   key: db-root-password
65           volumeMounts:
66           - mountPath: /var/lib/mysql
67             name: mariadb-data
68           - mountPath: /etc/localtime
69             name: localtime
70             readOnly: true
71           - mountPath: /usr/local/bin/docker-entrypoint.sh
72             subPath: docker-entrypoint.sh
73             name: docker-entry
74           resources:
75 {{ include "common.resources" . | indent 12 }}
76         {{- if .Values.nodeSelector }}
77         nodeSelector:
78 {{ toYaml .Values.nodeSelector | indent 10 }}
79         {{- end -}}
80         {{- if .Values.affinity }}
81         affinity:
82 {{ toYaml .Values.affinity | indent 10 }}
83         {{- end }}
84       volumes:
85       {{- if .Values.persistence.enabled }}
86         - name: mariadb-data
87           persistentVolumeClaim:
88             claimName: {{ include "common.fullname" . }}
89       {{- else }}
90           emptyDir: {}
91       {{- end }}
92         - name: localtime
93           hostPath:
94             path: /etc/localtime
95         - name: docker-entry
96           configMap:
97             name: {{ include "common.fullname" . }}-mariadb
98             defaultMode: 0755
99       imagePullSecrets:
100       - name: "{{ include "common.namespace" . }}-docker-registry-key"