iii-engine-config
Configure a managed iii engine through worker-compose.yaml or a directly supervised engine through config.yaml. Use for engine ports, RBAC listeners, streams, sandboxes, and configuration storage.
By iii-hq · 2,514 installs
npx skills add iii-hq/iii --skill iii-engine-config
Source repository · Upstream listing
Engine Config
iii has two engine configuration modes. Do not mix them.
Managed Compose engine
The presence of engine: means that Compose owns the engine process. Engine worker values are
direct mappings; there is no nested config: field.
Start it with:
engine.url defaults to ws://127.0.0.1:49134 and uses Compose's ${VAR: default} expansion.
engine.workers stays opaque until the engine reads the generated YAML, so its values use
${VAR:default} and retain numeric types. Compose materializes an owner only config under
<project dir /.iii/compose/<daemon namespace / and removes it after clean shutdown. With
III COMPOSE STATE DIR , it uses <state root /<project slug /<daemon namespace / . Changing engine:
requires restarting Compose. Do not combine a managed file with explicit engine .
Allowed engine worker base names are:
configuration
iii worker manager
iii http functions
iii stream
iii sandbox
Use instance for another instance of an allowed worker. iii engine functions ,
iii telemetry , and iii observability are injected automatically and must not be declared.
HTTP, cron, queue, state, pubsub, bridge, application, and custom workers belong under
containers: . Add registry packages with:
Directly supervised engine
Keep list shaped config.yaml only when systemd, Kubernetes, or another supervisor owns the
engine:
Start the engine and external Compose daemon separately:
The external Compose file must omit engine: . III URL may replace engine . Direct config
expansion uses ${VAR:default} and accepts only the same five engine owned worker types. Any
project worker stops startup/reload with UNSUPPORTED CONFIG WORKERS .
Security and operations
Bind private worker manager listeners to 127.0.0.1 .
Put public listeners behind middleware function id and RBAC registration hooks.
Keep secrets in environment backed configuration; do not commit literal credentials.
Preserve configuration, stream, state, and queue storage paths during migrations.
Use compose::status for process ownership and engine::workers::list for live connections.
compose::add never edits engine: or restarts the engine.
When to Use
Use this skill for managed engine: maps, direct config.yaml , engine owned workers, ports,
adapters, RBAC listeners, or engine lifecycle selection.
Use it when migrating engine worker blocks into Compose.
Boundaries
Project worker lifecycle belongs to Compose, not config.yaml or iii worker .
For function and trigger code, use iii core primitives .
For worker specific HTTP, queue, cron, state, or pubsub behavior, use that worker's docs.