Home / Infrastructure / Redis

Redis Queue

Redis provides message queues, ephemeral state caching and worker coordination for the gateway, the kernel and the test runners. Each environment has its own Redis container. Each is reached through REDIS_HOST, REDIS_PORT and REDIS_DB from the env profile.

Connection (env profiles in wt-MAP-PRECOMMIT, 2026-10-23)

Environment Container REDIS_HOST REDIS_PORT REDIS_DB State on 2026-10-23
prod default:redis-queue 10.53.1.10 6379 0 RUNNING, autostart true
test orchestrata-test:redis 10.53.2.11 6379 0 RUNNING, autostart false
dev orchestrata-dev:redis 10.53.3.21 6379 0 RUNNING, autostart false

The conversation-turn queue

Diagram infrastructure-redis-2

SPEC-021 conversation capture writes one message per Claude turn into the prod Redis reliable queue orchestrata:conversation:queue. orchestrata-conversation-consumer.service drains it into orchkg. That unit is disabled; it was started by hand on 2026-10-22 at 15:39 and is still running on 2026-10-23. While it is off, turns accumulate in the list and are not lost. A producer that cannot reach Redis exits 0 and appends a line to $XDG_STATE_HOME/orchestrata/conversation_capture.log. The tail of that log on 2026-10-22 showed "TimeoutError: Timeout connecting to server" at 03:56 UTC. On 2026-10-23 at 01:30, LLEN orchestrata:conversation:queue on prod returned 0: the consumer is keeping up. The prod Redis is version 7.0.15. See section 6 of Host services.

Operations

Test connectivity

python scripts/start_test_services.py --status   # reads the env profile in force

Per-worker DB isolation

This page used to say that tests map worker gwN to Redis database N. That mapping belonged to the xdist workers, and xdist is forbidden (RUL-001). The test profile now sets REDIS_DB=0. Whether any test still maps databases per worker was not checked.

Containers

The Redis containers are declared in OpenTofu: redis.tf for prod, test_fleet.tf and dev_fleet.tf for the others. They are configured by the provisioners in deploy/. The old redis-launch.sh no longer applies. See Incus fleets.