[CONSUL] Add limits to consul chart.
[oom.git] / kubernetes / clamp / components / clamp-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   replicas: {{ .Values.replicaCount }}
28   selector:
29     matchLabels:
30       app: {{ include "common.name" . }}
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_USER
59             {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "db-secret" "key" "login") | indent 12 }}
60           - name: MYSQL_PASSWORD
61             {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "db-secret" "key" "password") | indent 12 }}
62           - name: MYSQL_ROOT_PASSWORD
63             {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "db-root-pass" "key" "password") | indent 12 }}
64           - name: MYSQL_DATABASE
65             value: {{ tpl .Values.db.databaseName .}}
66           volumeMounts:
67           - mountPath: /docker-entrypoint.sh
68             subPath: docker-entrypoint.sh
69             name: init-script
70           - mountPath: /etc/localtime
71             name: localtime
72             readOnly: true
73           - mountPath: /docker-entrypoint-initdb.d/
74             name: docker-entrypoint-bulkload
75           - mountPath: /etc/mysql/conf.d/conf1/
76             name:  clamp-mariadb-conf
77           - mountPath: /var/lib/mysql
78             name: clamp-mariadb-data
79           resources:
80 {{ include "common.resources" . | indent 12 }}
81         {{- if .Values.nodeSelector }}
82         nodeSelector:
83 {{ toYaml .Values.nodeSelector | indent 10 }}
84         {{- end -}}
85         {{- if .Values.affinity }}
86         affinity:
87 {{ toYaml .Values.affinity | indent 10 }}
88         {{- end }}
89       volumes:
90       {{- if .Values.persistence.enabled }}
91         - name: clamp-mariadb-data
92           persistentVolumeClaim:
93             claimName: {{ include "common.fullname" . }}
94       {{- else }}
95           emptyDir: {}
96       {{- end }}
97         - name: docker-entrypoint-bulkload
98           configMap:
99             name: clamp-entrypoint-bulkload-configmap
100         - name: clamp-mariadb-conf
101           configMap:
102             name: clamp-mariadb-conf-configmap
103         - name: localtime
104           hostPath:
105             path: /etc/localtime
106         - name: init-script
107           configMap:
108             name: {{ include "common.fullname" . }}
109             defaultMode: 0755
110       imagePullSecrets:
111       - name: "{{ include "common.namespace" . }}-docker-registry-key"