mirror of
https://github.com/katanemo/plano.git
synced 2026-07-05 15:52:12 +02:00
Fix listener defaults to avoid mutating config dicts
Use dict merge ({**defaults, **listener}) instead of setdefault() to
provide address/timeout defaults for the Envoy template without
mutating the original listener dicts. This prevents extra fields
(timeout: 30s) from leaking into the rendered plano config YAML.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
2a10517144
commit
7a0b775276
1 changed files with 3 additions and 6 deletions
|
|
@ -147,10 +147,6 @@ def convert_legacy_listeners(
|
||||||
|
|
||||||
model_provider_set = False
|
model_provider_set = False
|
||||||
for listener in listeners:
|
for listener in listeners:
|
||||||
# Ensure address and timeout defaults for all listeners
|
|
||||||
listener.setdefault("address", "0.0.0.0")
|
|
||||||
listener.setdefault("timeout", "30s")
|
|
||||||
|
|
||||||
if listener.get("type") == "model":
|
if listener.get("type") == "model":
|
||||||
if model_provider_set:
|
if model_provider_set:
|
||||||
raise ValueError(
|
raise ValueError(
|
||||||
|
|
@ -158,9 +154,10 @@ def convert_legacy_listeners(
|
||||||
)
|
)
|
||||||
listener["model_providers"] = model_providers or []
|
listener["model_providers"] = model_providers or []
|
||||||
model_provider_set = True
|
model_provider_set = True
|
||||||
llm_gateway_listener = listener
|
# Merge user listener values into defaults for the Envoy template
|
||||||
|
llm_gateway_listener = {**llm_gateway_listener, **listener}
|
||||||
elif listener.get("type") == "prompt":
|
elif listener.get("type") == "prompt":
|
||||||
prompt_gateway_listener = listener
|
prompt_gateway_listener = {**prompt_gateway_listener, **listener}
|
||||||
if not model_provider_set:
|
if not model_provider_set:
|
||||||
listeners.append(llm_gateway_listener)
|
listeners.append(llm_gateway_listener)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue