iii-config.yaml without touching application code.
Pattern
name— the adapter short nameconfig— adapter-specific config (omit if not needed)
Adapter Reference
Queue
builtin
Default. In-process only with retries and DLQ — does not share messages across engine instances.
redis
rabbitmq
For retry behavior, dead-letter queues, and full config reference, see the Queue worker.
State
kv
Default. Supports in-memory or file-based persistence.
redis
bridge
Forwards state operations to a remote iii Engine.
Stream
kv
Default. In-process only.
redis
Cron
kv
Default. Process-local locks — jobs may run on every instance in multi-instance deployments.
redis
Distributed locking via Redis — ensures each job runs only once across all instances.
PubSub
local
Default. In-process broadcast — subscribers must be in the same engine process.
redis
Choosing an Adapter
Use
${VAR:default} syntax in iii-config.yaml to switch adapters per environment without changing the file: