-
Notifications
You must be signed in to change notification settings - Fork 650
feature: implement the ListenerSets experimental API #7998
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?
Conversation
✅ Deploy Preview for cerulean-figolla-1f9435 canceled.
|
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #7998 +/- ##
==========================================
- Coverage 73.53% 73.35% -0.18%
==========================================
Files 237 239 +2
Lines 35653 36118 +465
==========================================
+ Hits 26216 26493 +277
- Misses 7574 7732 +158
- Partials 1863 1893 +30 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
bf1ce64 to
9811829
Compare
7a6cfe1 to
1b7027b
Compare
Should we include extra status handling to communicate lack of support for these? Edit: |
cc3858a to
115ca97
Compare
Added support to all the other route types in this PR. |
6093336 to
8d5b078
Compare
Signed-off-by: Huabing (Robin) Zhao <[email protected]>
Signed-off-by: Huabing (Robin) Zhao <[email protected]>
Signed-off-by: Huabing (Robin) Zhao <[email protected]>
Signed-off-by: Huabing (Robin) Zhao <[email protected]>
Signed-off-by: Huabing (Robin) Zhao <[email protected]>
Signed-off-by: Huabing (Robin) Zhao <[email protected]>
Signed-off-by: Huabing (Robin) Zhao <[email protected]>
Signed-off-by: Huabing (Robin) Zhao <[email protected]>
Signed-off-by: Huabing (Robin) Zhao <[email protected]>
Signed-off-by: Huabing (Robin) Zhao <[email protected]>
Signed-off-by: Huabing (Robin) Zhao <[email protected]>
Signed-off-by: Huabing (Robin) Zhao <[email protected]>
Signed-off-by: Huabing (Robin) Zhao <[email protected]>
Signed-off-by: Huabing (Robin) Zhao <[email protected]>
Signed-off-by: Huabing (Robin) Zhao <[email protected]>
…d UDPRoute fix lint Signed-off-by: Huabing (Robin) Zhao <[email protected]> fix test Signed-off-by: Huabing (Robin) Zhao <[email protected]> add TCPRoute test Signed-off-by: Huabing (Robin) Zhao <[email protected]>
Signed-off-by: Huabing (Robin) Zhao <[email protected]>
Signed-off-by: Huabing (Robin) Zhao <[email protected]>
Signed-off-by: Huabing (Robin) Zhao <[email protected]>
Signed-off-by: Huabing (Robin) Zhao <[email protected]>
Signed-off-by: Huabing (Robin) Zhao <[email protected]>
Signed-off-by: Huabing (Robin) Zhao <[email protected]>
Signed-off-by: Huabing (Robin) Zhao <[email protected]>
Signed-off-by: Huabing (Robin) Zhao <[email protected]>
Signed-off-by: Huabing (Robin) Zhao <[email protected]>
Signed-off-by: Huabing (Robin) Zhao <[email protected]>
Signed-off-by: Huabing (Robin) Zhao <[email protected]>
5feb815 to
4018ea0
Compare
Signed-off-by: Huabing (Robin) Zhao <[email protected]>
Signed-off-by: Huabing (Robin) Zhao <[email protected]>
Signed-off-by: Huabing (Robin) Zhao <[email protected]>
| } | ||
| for _, xListenerSet := range result.XListenerSets { | ||
| key := utils.NamespacedName(xListenerSet) | ||
| statusCopy := xListenerSet.Status.DeepCopy() |
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.
seeing drift here, why is DeepCopy used here but not for the other resources
|
|
||
| // Drop Status to reduce memory | ||
| xls.Status = gwapixv1a1.ListenerSetStatus{} | ||
| resourceMap.allAssociatedNamespaces.Insert(xls.Namespace) |
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.
we should insert in the resoureTree only when it doesnt exist in the resourceMap, this is what we've done for other resources afaik
| Added cookie matching support to HTTPRouteFilter matches, combined with HTTPRoute rule matches. | ||
| Added support for addIfAbsent header action in ClientTrafficPolicy EarlyRequestHeaders and LateResponseHeaders to add headers only when they don't already exist. | ||
| Added support for tracing tag, which allows to use Envoy string command operators such as `%ENVIRONMENT(...)%`. | ||
| Implement the experimental XListenerSet API, allowing listeners to be defined in a separate resource and attached to a Gateway. This feature is disabled by default and can be enabled by setting the 'XListenerSet' flag in the EnvoyGateway configuration. Supported route types: HTTPRoute (HTTP/HTTPS), GRPCRoute, TLSRoute, TCPRoute, and UDPRoute. Note: XListenerSet as a TargetRef for xPolicies is not yet supported. |
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.
| Implement the experimental XListenerSet API, allowing listeners to be defined in a separate resource and attached to a Gateway. This feature is disabled by default and can be enabled by setting the 'XListenerSet' flag in the EnvoyGateway configuration. Supported route types: HTTPRoute (HTTP/HTTPS), GRPCRoute, TLSRoute, TCPRoute, and UDPRoute. Note: XListenerSet as a TargetRef for xPolicies is not yet supported. | |
| Added support for the experimental XListenerSet API, allowing listeners to be defined in a separate resource and attached to a Gateway. This feature is disabled by default and can be enabled by setting the 'XListenerSet' flag in the EnvoyGateway configuration. Supported route types: HTTPRoute (HTTP/HTTPS), GRPCRoute, TLSRoute, TCPRoute, and UDPRoute. Note: XListenerSet as a TargetRef for xPolicies is not yet supported. |
This PR implements the experimental
XListenerSetAPI, as proposed in GEP-1713, allowing listeners to be defined in a separate resource and attached to a Gateway. This feature is enabled via theXListenerSetfeature flag in theEnvoyGatewayconfiguration.Changes
XListenerSetresources.XListenerSetresources are attached to a parent Gateway, and their listeners are processed and merged with the Gateway's own listeners.XListenerSetand its listeners is updated to reflect whether they have been accepted and programmed.xlistenersetsandxlistenersets/statushave been added to the Helm charts andconfig/rbac/role.yaml.XListenerSetfunctionality for HTTPRoute(HTTP and HTTPS), gRPCRoute, TLSRoute, TCPRoute and UDPRoute.TODOs
XListenerSetasTargetReffor xPolicies.XListenerSetsto theGatewaystatus - depend on the next Gateway API release.To keep this PR focused, these TODOs will be tracked in separate issues and implemented in follow-up PRs.
implement: #5323
release note: yes