apiVersion: apps/v1beta1
kind: StatefulSet
metadata:
  name: {{ include "common.fullname" . }}
  namespace: {{ include "common.namespace" . }}
  labels:
    app: {{ include "common.fullname" . }}
    chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
    release: "{{ .Release.Name }}"
    heritage: "{{ .Release.Service }}"
spec:
  serviceName: {{ include "common.fullname" . }}
  replicas: {{ .Values.replicaCount }}
  template:
    metadata:
      labels:
        app: {{ include "common.fullname" . }}
      annotations:
        pod.alpha.kubernetes.io/initialized: "true"
    spec:
    {{- if .Values.nodeSelector }}
      nodeSelector:
{{ toYaml .Values.nodeSelector | indent 8 }}
    {{- end }}
      volumes:
      {{- if .Values.externalConfig }}
        - name: config
          configMap:
            name: {{ include "common.fullname" . }}-externalConfig
      {{- end}}
        - name: localtime
          hostPath:
            path: /etc/localtime
      imagePullSecrets:
      - name: {{ include "common.namespace" . }}-docker-registry-key
      containers:
        - name: {{ include "common.fullname" . }}
          image: "{{ include "common.repository" . }}/{{ .Values.image }}"
          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy | quote}}
          env:
            - name: POD_NAMESPACE
              valueFrom:
                fieldRef:
                  apiVersion: v1
                  fieldPath: metadata.namespace
            - name: MYSQL_USER
              value: {{ default "" .Values.config.userName | quote }}
            - name: MYSQL_PASSWORD
              valueFrom:
                secretKeyRef:
                  name: {{ template "common.fullname" . }}
                  key: user-password
            - name: MYSQL_DATABASE
              value: {{ default "" .Values.config.mysqlDatabase | quote }}
            - name: MYSQL_ROOT_PASSWORD
              valueFrom:
                secretKeyRef:
                  name: {{ template "common.fullname" . }}
                  key: db-root-password
          ports:
          - containerPort: {{ .Values.service.internalPort }}
            name: {{ .Values.service.name }}
          - containerPort: {{ .Values.service.sstPort }}
            name: {{ .Values.service.sstName }}
          - containerPort: {{ .Values.service.replicationPort }}
            name: {{ .Values.service.replicationName }}
          - containerPort: {{ .Values.service.istPort }}
            name: {{ .Values.service.istName }}
          readinessProbe:
            exec:
              command:
              - /usr/share/container-scripts/mysql/readiness-probe.sh
            initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
            periodSeconds: {{ .Values.readiness.periodSeconds }}
      {{- if eq .Values.liveness.enabled true }}
          livenessProbe:
            exec:
              command: ["mysqladmin", "ping"]
            initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
            periodSeconds: {{ .Values.liveness.periodSeconds }}
            timeoutSeconds: {{ .Values.liveness.timeoutSeconds }}
      {{- end }}
          resources:
{{ toYaml .Values.resources | indent 12 }}
          volumeMounts:
        {{- if .Values.externalConfig }}
          - mountPath: /etc/config
            name: config
        {{- end}}
          - mountPath: /etc/localtime
            name: localtime
            readOnly: true
{{- if .Values.persistence.enabled }}
          - mountPath: /var/lib/mysql
            name: {{ include "common.fullname" . }}-data
            subPath: data
      initContainers:
        - name: mariadb-galera-prepare
          image: "{{ include "common.repository" . }}/{{ .Values.imageInit }}"
          command: ["sh", "-c", "chown -R 27:27 /var/lib/mysql"]
          volumeMounts:
            - name: {{ include "common.fullname" . }}-data
              mountPath: /var/lib/mysql
  volumeClaimTemplates:
  - metadata:
      name: {{ include "common.fullname" . }}-data
      annotations:
  {{- if .Values.persistence.storageClass }}
        volume.beta.kubernetes.io/storage-class: {{ .Values.persistence.storageClass | quote }}
  {{- else }}
        volume.alpha.kubernetes.io/storage-class: default
  {{- end }}
    spec:
      accessModes:
      - {{ .Values.persistence.accessMode | quote }}
      resources:
        requests:
          storage: {{ .Values.persistence.size | quote }}
{{- end }}
