Configures the iii engine via iii-config.yaml — workers, adapters, queue configs, ports, and environment variables. Use when deploying, tuning, or customizing the engine.
This skill is a configuration reference for the iii engine, driven by an iii-config.yaml file that defines workers, modules, adapters, ports, observability, RBAC, and worker-manager listeners. It solves the problem of understanding and authoring the engine's runtime configuration, comparable to infrastructure-as-code and worker-manifest patterns. It explains how the engine loads YAML at startup, expands environment variables using ${VAR:default} syntax, initializes modules and built-in daemons, opens configured ports, starts the worker manager, and installs or starts managed workers.
The reference catalogs the runtime workers and configuration surface: the HTTP API server, WebSocket streams, persistent key-value state, background queue processing with retries, in-process pub/sub, cron scheduling, a MicroVM sandbox for command and filesystem isolation, a controlled shell for host/sandbox command and file tools, directory discovery, OpenTelemetry observability, outbound HTTP call security, process spawning, cross-engine bridging, and worker lifecycle management with RBAC. It documents default ports (3111 for HTTP, 3112 for streams, 49134 for the engine worker WebSocket, 9464 for Prometheus, 3113 for the console), adapter choices (file/KV, Redis, RabbitMQ, local/in-memory), and queue configuration (retry count, concurrency, ordering, backoff). It covers managed workers and reproducible installs via iii.lock, plus CLI commands like iii worker add, verify, and sync.
It targets platform engineers and operators deploying, tuning, or customizing the iii engine. It is documentation and worked YAML examples rather than an executable tool; while it references security-relevant surfaces (sandbox, shell, exec, RBAC, HTTP security policy), it presents them as configuration options and safe defaults such as binding to 127.0.0.1.
The iii engine via an iii-config.yaml file, covering workers, modules, adapters, queue configs, ports, observability, RBAC, and worker-manager listeners.
Config uses ${VAR:default} syntax, where the default after the colon is optional, letting you parameterize ports, URLs, and credentials from the environment.
HTTP API on 3111, streams on 3112, the private engine worker WebSocket commonly on 49134, Prometheus on 9464 when enabled, and the console on 3113.
Through adapters: state and queues can use file/KV, Redis, or RabbitMQ (for example an amqp_url with quorum queue mode in production), and pub/sub can use a local in-memory adapter.
An iii.lock file records resolved binary artifacts or OCI image digests. You commit it with the config and use iii worker verify in CI and iii worker sync after cloning; iii worker sync --frozen verifies without mutation.
Quick Setup:
.claude/skills/Repository
iii-hq/iii