-
Notifications
You must be signed in to change notification settings - Fork 232
Implement new Xds API #588
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
Conversation
Co-authored-by: npolshakova <nina.polshakova@solo.io>
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.
Pull Request Overview
This PR refactors the policy system to consolidate policy types and introduce frontend policies. The main objectives are:
- Merge
gatewayPoliciesinto a unifiedpoliciessystem with phase control - Remove deprecated
listenerconfig in favor of newfrontendPolicies - Restructure policies into three categories: Frontend, Traffic, and Backend
- Improve policy application and type safety
Key Changes
- Unified policy system with
PolicyTypeenum containing Frontend, Traffic (with phase), and Backend policies - Introduced
frontendPoliciesfor gateway-level HTTP, TLS, TCP, and access log configurations - Removed
gatewayPoliciesarray andlistenerconfig from root - Changed default pool idle timeout from
10sto1m30s
Reviewed Changes
Copilot reviewed 31 out of 33 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| schema/local.json | Added frontendPolicies schema, changed pool idle timeout default, removed listener config schema |
| schema/local.md | Documentation cleanup (file deletion) |
| schema/README.md | Updated schema documentation to reflect policy restructuring |
| crates/agentgateway/src/types/local.rs | Refactored policy conversion logic to use unified PolicyType |
| crates/agentgateway/src/types/frontend.rs | New file defining frontend policy types (HTTP, TLS, TCP, LoggingPolicy) |
| crates/agentgateway/src/types/agent.rs | Restructured policy types into PolicyType enum with three variants |
| crates/agentgateway/src/types/agent_xds.rs | Updated XDS deserialization for new policy structure |
| crates/agentgateway/src/store/binds.rs | Updated store to handle unified policies and frontend policies |
| crates/agentgateway/src/proxy/httpproxy.rs | Refactored to use frontend policies and new policy application |
| crates/agentgateway/src/proxy/gateway.rs | Updated gateway to apply frontend policies |
| crates/agentgateway/src/transport/stream.rs | Added TCP settings application (incomplete implementation) |
| crates/agentgateway/src/lib.rs | Removed ListenerConfig, moved to frontend types |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| socket2::SockRef::from(tcp).set_tcp_keepalive(&ka) | ||
| ); | ||
| } | ||
| todo!() |
Copilot
AI
Oct 30, 2025
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.
The apply_tcp_settings function contains a todo!() macro which will panic at runtime. This appears to be incomplete code that should either be removed or implemented before merging.
| todo!() | |
| // All requested TCP settings have been applied. |
No description provided.