Skip to main content
Documentation

Global

Overview

Version: Latest

Global

Overview

global: is the router-wide override layer.

Unlike signal/, decision/, algorithm/, and plugin/, this section is not route-local. It defines shared runtime behavior, shared backing services, built-in model assets, and shared capability modules.

Key Advantages

  • Gives the router one shared place for runtime overrides.
  • Avoids duplicating shared backing-service settings across routes.
  • Keeps route-local matching in routing: and runtime-wide behavior in global:.
  • Works with router-owned defaults, so users only override what they need.

What Problem Does It Solve?

Some configuration belongs to the whole router, not to any one route. If that state leaks into route-local config, it becomes harder to reuse routes and harder to understand what is shared versus local.

global: solves that by holding sparse, router-wide overrides on top of built-in defaults.

When to Use

Use global: when:

  • a setting should apply across multiple routes
  • a shared backing store or runtime service must be configured once
  • built-in system models or runtime policy need an override
  • the behavior is not specific to a single matched decision

Configuration

Canonical placement:

global:
router:
config_source: file
services:
observability:
metrics:
enabled: true

The latest global docs mirror the main runtime groupings:

Global areaExamplesDoc
router and servicesrouter.config_source, router.model_selection, services.api, services.response_api, services.observability, services.router_replayAPI and Observability
stores and integrationsstores.semantic_cache, stores.memory, stores.vector_store, integrations.tools, integrations.looperStores and Tools
model catalog and modulesmodel_catalog.embeddings, model_catalog.external, model_catalog.system, model_catalog.modules.prompt_guard, model_catalog.modules.classifier, model_catalog.modules.hallucination_mitigationSafety, Models, and Policy

Keep these rules in mind:

  • keep global: sparse; rely on router defaults when possible
  • keep global.router.config_source at file unless Kubernetes CRD reconciliation is intentionally driving runtime config
  • put shared backing services in global:
  • keep route-local matching in routing: