Configuration File Reference

RavenFabric uses TOML configuration files.

Agent (/etc/ravenfabric/raven.toml)

[agent]
# Unique agent identifier
id = "web-01"

# Relay WebSocket URL
relay = "wss://relay.example.com/meet"

# Path to agent private key
key_path = "/etc/ravenfabric/agent.key"

# Path to policy file
policy_path = "/etc/ravenfabric/policy.yaml"

# Path to audit log (JSON lines)
audit_path = "/var/log/ravenfabric/audit.jsonl"

[transport]
# Transport driver: "websocket", "quic", "memory"
driver = "websocket"

# Reconnect interval (seconds)
reconnect_interval = 5

# Maximum reconnect attempts (0 = infinite)
max_retries = 0

[resources]
# Maximum output size per command (bytes)
max_output_bytes = 10485760  # 10 MB

# Maximum execution time per command (seconds)
timeout_seconds = 300

# Maximum concurrent executions
max_concurrent = 10

Relay

[relay]
# Listen address
listen = "0.0.0.0:9090"

# Meet secret (use env: prefix for environment variables)
meet_secret = "env:RELAY_SECRET"

[rate_limit]
# Requests per second per source IP
requests_per_second = 100

# Burst allowance
burst = 200

CLI (~/.config/ravenfabric/config.toml)

[cli]
# Default relay URL
default_relay = "wss://relay.example.com/meet"

# CLI key path
key_path = "~/.config/ravenfabric/cli.key"

# Default timeout (seconds)
timeout = 30

Environment Variables

All configuration values can be overridden via environment variables:

VariableOverrides
RF_AGENT_IDagent.id
RF_RELAYagent.relay
RF_KEY_PATHagent.key_path
RF_POLICYagent.policy_path
RELAY_SECRETrelay.meet_secret (with env: prefix)
RUST_LOGLogging level