# Copyright © 2017 Amdocs, Bell Canada
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#       http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

#{{ if not .Values.disableVidVidMariadb }}
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  labels:
    app: vid-mariadb
  name: vid-mariadb
  namespace: "{{ .Values.nsPrefix }}"
spec:
  replicas: {{ .Values.vidMariaDbReplicas }}
  selector:
    matchLabels:
      app: vid-mariadb
  template:
    metadata:
      labels:
        app: vid-mariadb
      name: vid-mariadb
    spec:
      containers:
      - image: {{ .Values.image.mariadb }}
        imagePullPolicy: {{ .Values.pullPolicy }}
        name: vid-mariadb
        env:
        - name: MYSQL_DATABASE
          value: vid_openecomp_epsdk
        - name: MYSQL_USER
          value: vidadmin
        - name: MYSQL_PASSWORD
          value: Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U
        - name: MYSQL_ROOT_PASSWORD
          value: LF+tp_1WqgSY
        volumeMounts:
        - mountPath: /etc/localtime
          name: localtime
          readOnly: true
        - mountPath: /var/lib/mysql
          name: vid-mariadb-data
        - mountPath: /docker-entrypoint-initdb.d/vid-pre-init.sql
          name: vid-lfconfig
          subPath: vid-pre-init.sql
        - mountPath: /etc/mysql/my.cnf
          name: vid-lfconfig
          subPath: my.cnf
        ports:
        - containerPort: 3306
        readinessProbe:
          tcpSocket:
            port: 3306
          initialDelaySeconds: 5
          periodSeconds: 10
      volumes:
        - name: localtime
          hostPath:
            path: /etc/localtime
        - name: vid-mariadb-data
          persistentVolumeClaim:
            claimName: vid-db
        - name: vid-lfconfig
          configMap:
            name: vid-lfconfig-configmap
            defaultMode: 0755
            items:
            - key: vid-my.cnf
              path: my.cnf
            - key: vid-pre-init.sql
              path: vid-pre-init.sql
      imagePullSecrets:
      - name: "{{ .Values.nsPrefix }}-docker-registry-key"
#{{ end }}
