Files
argocd-apps/apps/base/arrstack/prowlarr/configmap.yaml
T
unkinben 256bfbd80d
ci/woodpecker/pr/vector-test Pipeline was successful
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/kubeconform Pipeline was successful
Add shared arrstack Valkey and wire arr apps' Redis features
Activate the arr forks' #14 Redis features (SignalR backplane, cross-replica
cache-invalidation bus, distributed rate limiter), which ship deployed but inert
because no Valkey exists and nothing is wired.

- Add a single shared ValkeyCluster (arrstack-valkey) under apps/base/arrstack/valkey,
  modeled on jellyfin-valkey: shards:1/replicas:2 HA, image via artifactapi,
  passwordless default user, node spread + cluster PDB, ephemeral storage.
- Register the valkey component in the arrstack base kustomization.
- Wire <App>__Redis__Host/Port into the sonarr/radarr/prowlarr env ConfigMaps,
  all pointing at the shared service valkey-arrstack-valkey:6379. Host is the
  activation switch (RedisOptions.IsConfigured gates on Host; no Enabled flag).
  Passwordless (jellyfin parity) so no Password/Ssl. Per-app key/channel prefixes
  keep the three apps isolated on one cluster.
2026-08-23 12:27:34 +10:00

34 lines
1.7 KiB
YAML

---
# Non-secret env for the -unkin2 fork. The fork reads Servarr config from
# Prowlarr__<Section>__<Key> env (no config.xml edits, no s6/PUID). Postgres
# wiring points every replica at the same shared DB (arrstack-postgres-rw /
# prowlarr-main); Auth__Method=External defers UI auth to arrproxy/oauth2-proxy;
# Server__UrlBase keeps the /prowlarr prefix so arrproxy path-routing works;
# App__InstanceName is identical across replicas (shared session-cookie name).
# User/Password/ApiKey come from Secrets (see deployment.yaml), not here.
apiVersion: v1
kind: ConfigMap
metadata:
name: prowlarr-env
namespace: arrstack
data:
Prowlarr__Postgres__Host: arrstack-postgres-rw.arrstack.svc.cluster.local
Prowlarr__Postgres__Port: "5432"
Prowlarr__Postgres__MainDb: prowlarr-main
Prowlarr__Log__DbEnabled: "false"
Prowlarr__Auth__Method: External
Prowlarr__Auth__Required: DisabledForLocalAddresses
Prowlarr__App__InstanceName: Prowlarr
Prowlarr__Server__Port: "9696"
Prowlarr__Server__UrlBase: /prowlarr
Prowlarr__Update__Mechanism: External
# Shared arrstack Valkey (valkey-operator). Setting Host is what activates the
# fork's #14 Redis features (SignalR backplane, cross-replica cache-invalidation
# bus, distributed rate limiter): RedisOptions.IsConfigured gates purely on a
# non-empty Host, so there is no separate Enabled flag. The operator leaves the
# default user passwordless (jellyfin parity), so no Password/Ssl is wired.
# Channels/keys are namespaced by this fork's prowlarr:ratelimit: prefix, so the
# one cluster is safe to share with sonarr/radarr.
Prowlarr__Redis__Host: valkey-arrstack-valkey.arrstack.svc.cluster.local
Prowlarr__Redis__Port: "6379"