---
apiVersion: codemowers.cloud/v1beta1
kind: SecretClaim
metadata:
  name: session-storage
spec:
  size: 32
  mapping:
    - key: password
      value: "%(plaintext)s"
    - key: REDIS_WILDDUCK_URI
      value: "redis://:%(plaintext)s@session-storage/1"
    - key: REDIS_WEBMAIL_URI
      value: "redis://:%(plaintext)s@session-storage/2"
    - key: REDIS_WILDFLOCK_URI
      value: "redis://:%(plaintext)s@session-storage/3"
---
apiVersion: dragonflydb.io/v1alpha1
kind: Dragonfly
metadata:
  name: session-storage
spec:
  authentication:
    passwordFromSecret:
      key: password
      name: session-storage
  replicas: 3
  resources:
    limits:
      cpu: 1000m
      memory: 1Gi
  topologySpreadConstraints:
    - maxSkew: 1
      topologyKey: topology.kubernetes.io/zone
      whenUnsatisfiable: DoNotSchedule
      labelSelector:
        matchLabels:
          app: session-storage
          app.kubernetes.io/part-of: dragonfly
---
apiVersion: monitoring.coreos.com/v1
kind: PodMonitor
metadata:
  name: session-storage
spec:
  selector:
    matchLabels:
      app: session-storage
      app.kubernetes.io/part-of: dragonfly
  podMetricsEndpoints:
    - port: admin