Skip to main content

Redis

Lumie uses two separate Redis releases:

  • production-style cache infrastructure in lumie-cache
  • a simpler dev-only release in lumie-dev

Both are declared under lumie-infra/storage/redis/**.

Source paths

  • lumie-infra/storage/redis/argocd.yaml
  • lumie-infra/storage/redis/argocd-dev.yaml
  • lumie-infra/storage/redis/base-values.yaml
  • lumie-infra/storage/redis/overlays/prod-values.yaml
  • lumie-infra/storage/redis/overlays/dev-values.yaml

Runtime shape

Public surface

  • The backend's auth path uses Sentinel discovery:
    • SPRING_DATA_REDIS_SENTINEL_MASTER=mymaster
    • SPRING_DATA_REDIS_SENTINEL_NODES=redis.lumie-cache.svc:26379
  • Production Redis runs in replication mode with two replicas and Sentinel enabled.
  • Dev Redis runs standalone with metrics disabled.

Operational contract

  • base-values.yaml disables Redis auth for internal cluster communication.
  • prod-values.yaml enables:
    • architecture: replication
    • sentinel.enabled: true
    • metrics.enabled: true
  • dev-values.yaml switches to:
    • architecture: standalone
    • metrics.enabled: false

This split is intentional: production prioritizes availability and observability; dev prioritizes minimal cluster footprint.

Dependencies

  • ArgoCD for both releases
  • Prometheus for the production metrics.serviceMonitor
  • Application namespaces that consume Redis secrets or service names

Failure modes

  • Because auth is disabled, Redis is an internal-trust service and must remain cluster-internal behind namespace and network boundaries.
  • Dev and prod behavior differ. Troubleshooting instructions that assume Sentinel or exporter metrics do not apply to redis-dev.
  • Replica or Sentinel failures can leave the release apparently healthy at the application layer until a failover or reconnect path is exercised.

Verification

kubectl get applications.argoproj.io -n argocd redis redis-dev
kubectl get pods -n lumie-cache
kubectl get pods -n lumie-dev | rg redis
kubectl get svc -n lumie-cache
kubectl get servicemonitors -n lumie-cache

Observability

  • Production exports metrics through the chart's Redis exporter and ServiceMonitor.
  • Dev disables metrics entirely, so Prometheus-backed dashboards or alerts should target only the production release.