---
kind: Deployment
apiVersion: extensions/v1beta1
metadata:
  labels:
    app: ceph
    daemon: mds
  name: ceph-mds
spec:
  replicas: 1
  template:
    metadata:
      name: ceph-mds
      labels:
        app: ceph
        daemon: mds
    spec:
      nodeSelector:
        {{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }}
      serviceAccount: default
      volumes:
        - name: ceph-conf
          secret:
            secretName: ceph-conf-combined
        - name: ceph-bootstrap-osd-keyring
          secret:
            secretName: ceph-bootstrap-osd-keyring
        - name: ceph-bootstrap-mds-keyring
          secret:
            secretName: ceph-bootstrap-mds-keyring
        - name: ceph-bootstrap-rgw-keyring
          secret:
            secretName: ceph-bootstrap-rgw-keyring
      containers:
        - name: ceph-mds
          image: {{ .Values.images.daemon }}
          imagePullPolicy: {{ .Values.images.pull_policy }}
          ports:
            - containerPort: 6800
          env:
            - name: CEPH_DAEMON
              value: MDS
            - name: CEPHFS_CREATE
              value: "1"
            - name: KV_TYPE
              value: k8s
            - name: CLUSTER
              value: ceph
          volumeMounts:
            - name: ceph-conf
              mountPath: /etc/ceph
            - name: ceph-bootstrap-osd-keyring
              mountPath: /var/lib/ceph/bootstrap-osd
            - name: ceph-bootstrap-mds-keyring
              mountPath: /var/lib/ceph/bootstrap-mds
            - name: ceph-bootstrap-rgw-keyring
              mountPath: /var/lib/ceph/bootstrap-rgw
          livenessProbe:
              tcpSocket:
                port: 6800
              initialDelaySeconds: 60
              timeoutSeconds: 5
          readinessProbe:
              tcpSocket:
                port: 6800
              timeoutSeconds: 5
          resources:
            requests:
              memory: {{ .Values.resources.mds.requests.memory | quote }}
              cpu: {{ .Values.resources.mds.requests.cpu | quote }}
            limits:
              memory: {{ .Values.resources.mds.limits.memory | quote }}
              cpu: {{ .Values.resources.mds.limits.cpu | quote }}