-
Notifications
You must be signed in to change notification settings - Fork 353
Add proxy support for kagent-adk #1183
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Add proxy support for kagent-adk #1183
Conversation
Signed-off-by: Jeremy Alvis <jeremy.alvis@solo.io>
EItanya
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These changes are looking great so far, I don't have any specific comments about the code so far, but I have a couple of over arching comments about the implementation. I think the names of the different proxies are a bit confusing, agent, and egressare very generic. I think we should just have oneproxy_urlsetting and apply it to all hostnames which are internal to k8s. I specifically mention internal tok8sbecause it seems a bit odd that we would apply aproxy_urlto theRemoteMCPServer, when that resource already allows you to set a custom host of your own. The proxy is most useful when kagent` is building urls based on information internal to the system, rather than information supplied by the user. The times when we build the URLs are:
- Agents as tools
- Services as MCP Tools
MCPServerresources
Maybe we have a separate setting to apply this config to RemoteMCPServer, but in general the intended API for addressing Services is directly rather than the RemoteMCPServer.
Happy to discuss more if you have any questions
Signed-off-by: Jeremy Alvis <jeremy.alvis@solo.io>
Signed-off-by: Jeremy Alvis <jeremy.alvis@solo.io>
Signed-off-by: Jeremy Alvis <jeremy.alvis@solo.io>
Signed-off-by: Jeremy Alvis <jeremy.alvis@solo.io>
| "http_tools": [ | ||
| { | ||
| "params": { | ||
| "headers": { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i don't think we want any visible changes in the agent card. ideally using a proxy should be internal to the agent
Description
Add global Proxy configuration to allow for defining proxies for declarative
adkagents.This proxy configuration is used for:
Each of these proxied requests includes a header with the original destination hostname:
X-Host.Notes:
X-Hostheader.adkagents are configured with the proxiesUsage
Global Proxy Configuration
Configure proxy URLs globally via Helm values:
Proxy setup:
Details
URL Rewriting & Host Header Support
X-Hostheader to the original target hostname (without port) for proxy routing purposesadkuses the url returned in the agent card