apiVersion: apps/v1
kind: Deployment
metadata:
  name: regional-redis
  labels:
    app: regional-redis
spec:
  replicas: 1
  selector:
    matchLabels:
      app: regional-redis
  template:
    metadata:
      labels:
        app: regional-redis
    spec:
      containers:
        - name: redis
          image: public.ecr.aws/docker/library/redis:7.2-alpine
          ports:
            - name: redis
              containerPort: 6379
            - name: redis-ssl
              containerPort: 6380
          command:
            - "redis-server"
            - "--save"
            - ""
            - "--port"
            - "6379"
            - "--tls-port"
            - "6380"
            - "--tls-cert-file"
            - "/tls/tls.crt"
            - "--tls-key-file"
            - "/tls/tls.key"
            - "--tls-ca-cert-file"
            - "/tls/ca.crt"
          resources:
            limits:
              memory: 2Gi
              cpu: "1"
            requests:
              memory: 1Gi
              cpu: 500m
          volumeMounts:
            - name: redis-tls
              mountPath: /tls
              readOnly: true
          livenessProbe:
            tcpSocket:
              port: 6379
            initialDelaySeconds: 10
            periodSeconds: 20
          readinessProbe:
            tcpSocket:
              port: 6379
            periodSeconds: 10
      volumes:
        - name: redis-tls
          secret:
            secretName: regional-redis-cert-new-secret
            items:
              - key: tls.crt
                path: tls.crt
              - key: tls.key
                path: tls.key
              - key: ca.crt
                path: ca.crt
