Files
argocd-apps/apps/base/jellyfin/valkey.yaml
T
unkin-agent da91f46e07
ci/woodpecker/pr/vector-test Pipeline was successful
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/kubeconform Pipeline was successful
jellyfin: replace redis Deployment with valkey-operator instance
Swap Jellyfin's self-managed redis Deployment for a valkey-operator-managed
single-instance ValkeyCluster (shards:1, replicas:0) as the distributed
transcode-session store, and point Jellyfin at the operator's client Service.

- Add apps/base/jellyfin/valkey.yaml: ValkeyCluster jellyfin-valkey, image via
  artifactapi dockerhub mirror, exporter disabled, redis-parity resources, no
  persistence (emptyDir) since the lease state is ephemeral and the managed PVC
  cannot carry the k8up.io/backup annotation the namespace Schedule needs.
- Remove redis-deployment.yaml, redis-service.yaml, redis-pvc.yaml and drop them
  from kustomization.yaml; add valkey.yaml.
- Repoint Jellyfin__TranscodeStore__RedisConnectionString at the operator client
  Service (valkey-jellyfin-valkey:6379), preserving abortConnect=false and the
  LeaseDurationSeconds. No auth/TLS: the operator leaves the default user
  passwordless with protected-mode off (parity with the old open redis).

HA (more shards/replicas) is a follow-up.
2026-08-15 13:50:11 +10:00

30 lines
1.1 KiB
YAML

---
# Single-instance Valkey managed by valkey-operator, replacing the self-managed
# redis Deployment as Jellyfin's distributed transcode-session store. shards:1 +
# replicas:0 is one primary with no replicas. This operator always runs Valkey
# cluster-mode-enabled with protected-mode off and leaves the built-in `default`
# user passwordless, so clients connect with no auth/TLS (parity with the old
# open redis); StackExchange.Redis auto-discovers the single node. HA (more
# shards/replicas) is a follow-up. Persistence is intentionally omitted so /data
# is an emptyDir: the lease state is ephemeral, and the operator-managed PVC
# cannot carry the k8up.io/backup:"false" annotation the namespace's cluster-wide
# k8up Schedule needs to skip an in-use RWO volume.
apiVersion: valkey.io/v1alpha1
kind: ValkeyCluster
metadata:
name: jellyfin-valkey
namespace: jellyfin
spec:
shards: 1
replicas: 0
image: artifactapi.k8s.syd1.au.unkin.net/dockerhub/valkey/valkey:9.0.0
exporter:
enabled: false
resources:
requests:
cpu: 50m
memory: 128Mi
limits:
cpu: 500m
memory: 512Mi