Skip to main content

Profile File Structure

Frontmatter fields: OSS does not authenticate clients or enforce per-client request quotas. Configure authentication and inbound rate limiting at your reverse proxy. Provider quota and circuit-breaker backoff are separate routing controls. Unknown YAML fields and invalid types are rejected. Use booleans (false), not quoted strings ("false"). A failed reload keeps the previous active configuration. Errors identify the field without printing credential values. Profile slugs must match their .yml filenames. Files beginning with _ or . are skipped. Keep a public.yml profile: routes without a profile use public, and it is required at startup. unlisted: true hides a profile from the selector; its endpoints remain accessible.

Chain Configuration

Each chain is a key under chains: with the following structure:

Chain Fields

Monitoring

Controls probe frequency and the dashboard lag status threshold. Shared upstreams use the shortest configured probe interval across profiles; HTTP polling slows while WebSocket block updates are active.

Selection

Controls provider eligibility filtering during request routing.

WebSocket

Controls upstream WebSocket subscription behavior. Failover limits are captured from the active profile at the beginning of each recovery, including after YAML reload. An in-progress recovery keeps its captured limits. The backfill timeout is also bounded by the overall 30-second recovery deadline. Gaps beyond max_backfill_blocks terminate continuity rather than silently skipping missing blocks.

UI Topology

Dashboard visualization settings. For live updates, see Profiles and reload.