Redis (Valkey)
FluxNow provisions a dedicated Valkey instance — a Redis-compatible, BSD-licensed in-memory datastore — for your app when you enable it. It works with any Redis client (ioredis, node-redis, BullMQ, Sidekiq, redis-py, Celery, Spring Data Redis, …).
What you get
Section titled “What you get”- Valkey 8.x — Redis-compatible (SET/GET, lists, pub/sub, Lua, BullMQ, etc.)
- A dedicated instance per app — not shared with other apps or customers
- Durable — append-only file (AOF) on a persistent volume; data survives pod restarts
REDIS_*injected into your container automatically — nothing hardcoded
Enabling Redis
Section titled “Enabling Redis”Add redis.enabled: true to your fluxnow.yaml.
For a single-service repo, at the top level:
version: v1kind: Servicemetadata: name: my-appspec: runtime: node port: 3000redis: enabled: trueFor a monorepo, under the app’s spec (each app opts in independently):
version: v1kind: Monorepometadata: name: my-monorepoapps: - name: api path: apps/api spec: runtime: node port: 3000 redis: enabled: trueAbsent or false means no Redis is provisioned — the setting is fully opt-in.
Environment variables
Section titled “Environment variables”FluxNow injects the connection details into your container at deploy time. Read them straight from the environment — nothing is hardcoded:
| Variable | Description |
|---|---|
REDIS_HOST | In-cluster hostname of your instance |
REDIS_PORT | 6379 |
REDIS_PASSWORD | Auto-generated, stored in the secrets manager |
REDIS_TLS | false (in-cluster traffic is plaintext, one hop) |
REDIS_URL | redis://:$REDIS_PASSWORD@$REDIS_HOST:$REDIS_PORT — for url-form clients |
KV_URL | Same URL, for Vercel KV / Upstash-style code |
SPRING_DATA_REDIS_URL | Same URL, for Spring Boot 3.x |
REDIS_USERNAME | Empty (default-user auth) |
Most clients read REDIS_URL directly; discrete-form clients (BullMQ, Laravel) can use
REDIS_HOST / REDIS_PORT / REDIS_PASSWORD. You never set these yourself.
Sizing & eviction
Section titled “Sizing & eviction”The v1 instance is fixed at 32 MB with the noeviction policy — writes fail
loudly when full rather than silently dropping a cached value, a lock, or a queued job.
Larger sizes and eviction tuning are on the roadmap.
Durability
Section titled “Durability”Redis here is durable, not just a cache: it uses AOF (append-only file) on a persistent volume, so keys survive a pod restart or reschedule. (Cross-node high-availability — replicas + failover — is a later tier.)
Common use cases
Section titled “Common use cases”- Caching — HTTP response caches, computed-value caches
- Sessions — server-side session storage
- Queues — background job queues (BullMQ, Sidekiq, RQ, Celery, …)
- Pub/sub — real-time messaging between application instances
Preview environments
Section titled “Preview environments”Redis is not provisioned for per-PR preview environments — preview pods are not wired to a Valkey instance. Provisioning happens for your staging (and production) environment. If you need Redis in previews, namespace your keys and point at the staging instance, or track it in the roadmap.