Configuration File
By default, iii looks forconfig.yaml in the current directory. You can specify a different path:
Environment Variable Expansion
Config files support environment variable expansion with default values:STREAM_PORT is not set, it defaults to 3112. If a variable has no default and is not set, the engine will panic with an error.
Module Configuration
Basic Structure
Each module entry requires aclass and optional config:
REST API Module
Configures the HTTP server for API endpoints.number
default:"3111"
HTTP server port
string
default:"127.0.0.1"
Bind address (use
0.0.0.0 for all interfaces)number
default:"30000"
Default request timeout in milliseconds
number
default:"1024"
Maximum concurrent requests
Stream Module
Real-time WebSocket state synchronization.Queue Module
Redis-backed message queue for async job processing.State Module
Persistent key-value storage for application state.KV Server
Internal key-value server for coordination.Observability Module
OpenTelemetry traces, metrics, and logs.string
default:"memory"
Trace exporter:
otlp (remote collector), memory (in-memory), or bothnumber
default:"1.0"
Sampling ratio (0.0 to 1.0). Use 1.0 to sample all traces.
Cron Module
Distributed cron scheduling.PubSub Module
Publish-subscribe messaging.Minimal Configuration
For development without Redis:Environment Variables
Common environment variables:
Set environment variables before starting iii:
Production Configuration
For production deployments:Next Steps
Docker Deployment
Run iii in containers
Production Setup
Hardened production deployment