apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: fileshare
spec:
  replicas: 2
  selector:
    matchLabels:
      app: fileshare
  strategy:
    rollingUpdate:
      maxSurge: 1
      maxUnavailable: 1
    type: RollingUpdate
  template:
    metadata:
      labels:
        app: fileshare
    spec:
      initContainers:
        - image: busybox
          name: mount-permissions-fix
          command: ["sh", "-c", "chmod 777 /data"]
          volumeMounts:
            - name: data
              mountPath: /data
      containers:
        - image: centosadmin/reloadable-nginx:1.12
          name: nginx
          ports:
            - containerPort: 80
          readinessProbe:
            failureThreshold: 3
            httpGet:
              path: /
              port: 80
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          livenessProbe:
            failureThreshold: 3
            httpGet:
              path: /
              port: 80
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
            initialDelaySeconds: 10
          resources:
            requests:
              cpu: 100m
              memory: 100Mi
            limits:
              cpu: 100m
              memory: 100Mi
          volumeMounts:
            - name: config
              mountPath: /etc/nginx/conf.d
            - name: data
              mountPath: /data
      volumes:
        - name: config
          configMap:
            name: fileshare
        - name: data
          persistentVolumeClaim:
            claimName: fileshare
