Skip to main content
Version: Latest (main)

Global settings

global: holds Router-wide settings and shared infrastructure: the Router engine, its services, stores, integrations, model catalog and default plugins. Define a service or store once under global:, then opt individual routes into it with signals, algorithms or plugins.

config.yaml
global:
services:
observability:
metrics:
enabled: true
stores:
response_cache:
backend_type: memory
plugins:
- type: response_cache
configuration:
enabled: true

Why a separate block​

  • Define shared infrastructure once for all recipes and routes, instead of repeating connections in every decision.
  • Keep route-local policy apart from platform-wide services: route matching, candidate models, algorithms and plugins stay in routing:.
  • Make dependencies explicit. Models, storage and external services appear in one place, so their data and trust boundaries are visible.
note

Global settings are shared across recipes. Signals, projections and decisions are recipe-scoped, while algorithms and plugins belong to individual decisions. Entrypoints and named recipes are top-level objects rather than global settings; see Virtual Models.

The six groups​

GroupOwnsGuide
global.routerRouter engine controls, selection defaults, streamed-body policy, routing input, learningAlgorithms, Router Learning, Routing input
global.servicesAPI, Response API, observability, authz, rate limits, management API, startup status, replayAPI and Observability
global.storesresponse cache, memory, vector storeStores and Tools
global.integrationstool catalog and Looper runtime/stateStores and Tools
global.model_catalogdeployments, bindings, admission, the embedding and decision modelsConnect the Router to the model runtime
global.pluginsthe default plugins every request runs, such as context (memory, compress.signals) and router_replayPlugins

Remote text embeddings are covered in Embeddings.

Operational boundaries​

  • Keep overrides sparse. Omitted fields inherit Router defaults.
  • Keep secrets out of YAML. Put credentials in environment variables or Kubernetes Secrets, not literal YAML values.
  • Model reasoning is per model. Built-in reasoning behavior comes from providers.models[].catalog. Self-hosted models can select a built-in family or define inline behavior in providers.models[].reasoning; neither belongs under global:.
warning

Persistent stores may contain prompts, responses, embeddings, memories or replay records. Set backend authentication, transport security, retention and tenant or user scope deliberately.

The complete configuration reference is config/config.yaml.