Skip to content

Compose

Compose deploys multiple agents together from a single file. Use it for multi-agent stacks with dependencies and shared configuration.

Compose File

Example rune-compose.yaml:

version: "1"
project: my-rune-stack

rune-env:
  LOG_LEVEL: info

agents:
  chat:
    source: ./rune-python-chat-agent
    alias: stable
    replicas: 1
  analytics:
    source: ./rune-js-analytics-agent
    alias: stable
    replicas: 1
  report:
    source: ./rune-python-report-agent
    alias: stable
    replicas: 1

Agent Entry Fields

Field Default Description
source Path to agent directory or git://repo-url[#subdir]
namespace dev Deployment namespace
alias stable Deployment alias (e.g. for canary)
replicas 1 Desired replica count
depends_on [] Agent names that must be deployed first
env {} Per-agent env vars (overrides rune-env)

Deploy Order

Agents are deployed in topological order based on depends_on. Cycles are invalid.

Commands

rune compose up -f rune-compose.yaml
rune compose down -f rune-compose.yaml
rune compose ps -f rune-compose.yaml

Shared Environment

rune-env applies to all agents. Per-agent env overrides for that agent.