diff --git a/gateway/examples/openai-multi-provider-proxy.yaml b/gateway/examples/openai-multi-provider-proxy.yaml index e88f18901..2d24fc6b5 100644 --- a/gateway/examples/openai-multi-provider-proxy.yaml +++ b/gateway/examples/openai-multi-provider-proxy.yaml @@ -20,9 +20,9 @@ # # * Multi-provider mode — put openai-header-router first. It writes # the chosen provider into metadata["selected_provider"]. Each -# translator then runs only when that selection equals its own "id". -# The "id" doubles as the upstream cluster name, so it must match an -# entry in additionalProviders (id or as). +# translator then runs only when that selection equals its own +# "provider-id". The "provider-id" doubles as the upstream cluster +# name, so it must match an entry in additionalProviders (id or as). # # -------------------------------------------------------------------- diff --git a/gateway/gateway-controller/pkg/utils/llm_transformer.go b/gateway/gateway-controller/pkg/utils/llm_transformer.go index 131d1d39d..4432b0bb9 100644 --- a/gateway/gateway-controller/pkg/utils/llm_transformer.go +++ b/gateway/gateway-controller/pkg/utils/llm_transformer.go @@ -798,9 +798,9 @@ func (t *LLMProviderTransformer) proxyUpstreamAuthPolicy(auth *api.LLMUpstreamAu } // proxyTransformerPolicy builds a translator policy for an additional provider's -// inline transformer. The provider's upstream name is passed to the translator as -// its "id" param so it targets the correct upstream, and gates execution so the -// translator runs only when this provider is the selected upstream. +// inline transformer. The provider's upstream name is passed to the translator +// as its "provider-id" param so it targets the correct upstream, and gates +// execution so the translator runs only when this provider is selected. func (t *LLMProviderTransformer) proxyTransformerPolicy(transformer *api.LLMProxyTransformer, name, field string) (*api.Policy, error) { if transformer == nil { return nil, nil @@ -818,7 +818,7 @@ func (t *LLMProviderTransformer) proxyTransformerPolicy(transformer *api.LLMProx params[k] = v } } - params["id"] = name + params["provider-id"] = name condition := selectedProviderExecutionCondition(name, false) return &api.Policy{ diff --git a/gateway/gateway-controller/pkg/utils/llm_transformer_multiprovider_test.go b/gateway/gateway-controller/pkg/utils/llm_transformer_multiprovider_test.go index 9d558dfaf..1c8bc277a 100644 --- a/gateway/gateway-controller/pkg/utils/llm_transformer_multiprovider_test.go +++ b/gateway/gateway-controller/pkg/utils/llm_transformer_multiprovider_test.go @@ -238,7 +238,7 @@ func TestLLMProviderTransformer_TransformProxy_AdditionalProviderTransformerIsCo require.NotNil(t, transformerPolicy.ExecutionCondition) assert.Contains(t, *transformerPolicy.ExecutionCondition, "anthropic-provider") require.NotNil(t, transformerPolicy.Params) - assert.Equal(t, "anthropic-provider", (*transformerPolicy.Params)["id"]) + assert.Equal(t, "anthropic-provider", (*transformerPolicy.Params)["provider-id"]) assert.Equal(t, "claude-sonnet-4-5-20250929", (*transformerPolicy.Params)["model"]) }