Configuration Reference
The following is a complete reference of the plano_config.yml that controls the behavior of a single instance of
the Arch gateway. This where you enable capabilities like routing to upstream LLm providers, defining prompt_targets
where prompts get routed to, apply guardrails, and enable critical agent observability features.
1# Arch Gateway configuration version
2version: v0.3.0
3
4# External HTTP agents - API type is controlled by request path (/v1/responses, /v1/messages, /v1/chat/completions)
5agents:
6 - id: weather_agent # Example agent for weather
7 url: http://host.docker.internal:10510
8
9 - id: flight_agent # Example agent for flights
10 url: http://host.docker.internal:10520
11
12# MCP filters applied to requests/responses (e.g., input validation, query rewriting)
13filters:
14 - id: input_guards # Example filter for input validation
15 url: http://host.docker.internal:10500
16 # type: mcp (default)
17 # transport: streamable-http (default)
18 # tool: input_guards (default - same as filter id)
19
20# LLM provider configurations with API keys and model routing
21model_providers:
22 - model: openai/gpt-4o
23 access_key: $OPENAI_API_KEY
24 default: true
25
26 - model: openai/gpt-4o-mini
27 access_key: $OPENAI_API_KEY
28
29 - model: anthropic/claude-sonnet-4-0
30 access_key: $ANTHROPIC_API_KEY
31
32 - model: mistral/ministral-3b-latest
33 access_key: $MISTRAL_API_KEY
34
35 # Example: Passthrough authentication for LiteLLM or similar proxies
36 # When passthrough_auth is true, client's Authorization header is forwarded
37 # instead of using the configured access_key
38 - model: openai/gpt-4o-litellm
39 base_url: https://litellm.example.com
40 passthrough_auth: true
41
42# Model aliases - use friendly names instead of full provider model names
43model_aliases:
44 fast-llm:
45 target: gpt-4o-mini
46
47 smart-llm:
48 target: gpt-4o
49
50# HTTP listeners - entry points for agent routing, prompt targets, and direct LLM access
51listeners:
52 # Agent listener for routing requests to multiple agents
53 - type: agent
54 name: travel_booking_service
55 port: 8001
56 router: plano_orchestrator_v1
57 address: 0.0.0.0
58 agents:
59 - id: rag_agent
60 description: virtual assistant for retrieval augmented generation tasks
61 filter_chain:
62 - input_guards
63
64 # Model listener for direct LLM access
65 - type: model
66 name: model_1
67 address: 0.0.0.0
68 port: 12000
69
70 # Prompt listener for function calling (for prompt_targets)
71 - type: prompt
72 name: prompt_function_listener
73 address: 0.0.0.0
74 port: 10000
75 # This listener is used for prompt_targets and function calling
76
77# Reusable service endpoints
78endpoints:
79 app_server:
80 endpoint: 127.0.0.1:80
81 connect_timeout: 0.005s
82
83 mistral_local:
84 endpoint: 127.0.0.1:8001
85
86# Prompt targets for function calling and API orchestration
87prompt_targets:
88 - name: get_current_weather
89 description: Get current weather at a location.
90 parameters:
91 - name: location
92 description: The location to get the weather for
93 required: true
94 type: string
95 format: City, State
96 - name: days
97 description: the number of days for the request
98 required: true
99 type: int
100 endpoint:
101 name: app_server
102 path: /weather
103 http_method: POST
104
105# OpenTelemetry tracing configuration
106tracing:
107 # Random sampling percentage (1-100)
108 random_sampling: 100