Valkey
BSD-licensed Redis-wire fork — same redis driver, OKE_STORE_KV_PASSWORD, valkey-server command.
Valkey is the Linux Foundation's BSD-3-Clause fork of Redis, forked after Redis's 2024 license change. Same wire protocol — pin the image and nothing in Flow code moves.
The one rule
Driver id stays redis. Valkey is an image choice, not a driver. REDIS_URL and every KV call
through fx.store work exactly as they do against Redis.
Quick start
Pin the image
images: {
"store.kv": "valkey/valkey:8-alpine",
},Same password contract as Redis
OKE_STORE_KV_PASSWORD=…
REDIS_URL=redis://:…@127.0.0.1:6379Command becomes valkey-server --requirepass "$OKE_STORE_KV_PASSWORD" … — healthcheck
uses valkey-cli.
Optional memory caps
Same knobs as Redis: OKE_STORE_KV_MAXMEMORY, OKE_STORE_KV_MAXMEMORY_POLICY.
Required env
| Variable | Required? | Meaning |
|---|---|---|
OKE_STORE_KV_PASSWORD | Yes | --requirepass for valkey-server |
REDIS_URL | Yes (app) | Still redis:// scheme — protocol name, not vendor |
OKE_STORE_KV_MAXMEMORY | Optional | Memory cap |
OKE_STORE_KV_MAXMEMORY_POLICY | Optional | Eviction policy |
Data and backup
The default store.kv recipe declares no named volume — same ephemeral default as
Redis.
Keys that must survive go on { durable: true } — a JSONB table on your SQL database.
See Store · Durable KV.
Production note
Choose Valkey when RSAL/SSPL managed-service terms on Redis ≥8 matter to your legal posture — BSD-3-Clause carries no such restriction. Feature parity with Redis 7/8 stays close since the fork tracks upstream.
DigitalOcean's managed product moved onto Valkey after Aiven stepped back from Redis — see DigitalOcean Managed Caching.
What the recipe configures
| Field | Value |
|---|---|
| Container port | 6379 |
| Command | valkey-server --requirepass … --maxmemory … --maxmemory-policy … |
| Healthcheck | valkey-cli -a <password> ping, every 5s, 10 retries |
| Connection URL | redis://:pass@host:6379 |
| License | BSD-3-Clause |
Troubleshooting
Same loud failure as Redis — the driver id is still redis. Export REDIS_URL or let
oke dev write it.
You still have the Redis recipe matched (image ref contains redis). Valkey images must
match /valkey/i so the healthcheck binary is valkey-cli. Pin valkey/valkey:…
explicitly.
Learn more
- Store · KV — full Redis-protocol image license table
- Redis · Dragonfly — the other two peers
- DigitalOcean Managed Caching — managed Valkey