apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: gitlab-redis-pvc
  namespace: gitlab
spec:
  accessModes:
    - ReadWriteOnce
  storageClassName: gitlab-nas-sc
  resources:
    requests:
      storage: 1Gi
---
apiVersion: v1
kind: ConfigMap
metadata:
  name: gitlab-redis-cm
  namespace: gitlab
data:
  ALLOW_EMPTY_PASSWORD: 'yes'
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
  labels:
    app: gitlab-redis
  name: gitlab-redis
  namespace: gitlab
spec:
  podManagementPolicy: OrderedReady
  replicas: 1
  revisionHistoryLimit: 1
  selector:
    matchLabels:
      app: gitlab-redis
  serviceName: gitlab-redis-svc
  template:
    metadata:
      labels:
        app: gitlab-redis
    spec:
      containers:
        - envFrom:
            - configMapRef:
                name: gitlab-redis-cm
          image: 'bitnami/redis:6.2'
          imagePullPolicy: IfNotPresent
          name: gitlab-redis
          ports:
            - containerPort: 6379
              name: redis
              protocol: TCP
          readinessProbe:
            failureThreshold: 3
            initialDelaySeconds: 3
            periodSeconds: 10
            successThreshold: 1
            tcpSocket:
              port: 6379
            timeoutSeconds: 1
          securityContext:
            runAsUser: 1001
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
            - mountPath: /bitnami/redis
              name: redis-data
      dnsPolicy: ClusterFirst
      restartPolicy: Always
      schedulerName: default-scheduler
      securityContext:
        fsGroup: 1001
        fsGroupChangePolicy: "OnRootMismatch"
      terminationGracePeriodSeconds: 30
      volumes:
        - name: redis-data
          persistentVolumeClaim:
            claimName: gitlab-redis-pvc
  updateStrategy:
    type: RollingUpdate
---
apiVersion: v1
kind: Service
metadata:
  name: gitlab-redis-svc
  namespace: gitlab
spec:
  type: ClusterIP
  clusterIP: None
  ports:
    - port: 6379
      protocol: TCP
      targetPort: 6379
  selector:
    app: gitlab-redis
