You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@apisix.apache.org by "AlinsRan (via GitHub)" <gi...@apache.org> on 2026/06/14 22:59:33 UTC
[PR] feat: add L4RoutePolicy for attaching stream plugins to L4 routes [apisix-ingress-controller]
AlinsRan opened a new pull request, #2791:
URL: https://github.com/apache/apisix-ingress-controller/pull/2791
## Description
This PR adds the `L4RoutePolicy` CRD (`apisix.apache.org/v1alpha1`) following the Gateway API Policy Attachment pattern. It attaches APISIX stream plugins to Gateway API L4 routes — `TCPRoute`, `UDPRoute`, and `TLSRoute`.
### What's included
- New API type `L4RoutePolicy` with generated CRD, deepcopy, RBAC, and API reference docs.
- Indexer, TCP/UDP/TLSRoute controller watches, and translator support that merges the policy's stream plugins into the matching stream routes.
- `targetRefs` validation: `kind` must be `TCPRoute`/`UDPRoute`/`TLSRoute` and `group` must be `gateway.networking.k8s.io`.
- `sectionName` targeting is not supported for L4 routes, so such refs are ignored both when accepting a policy and when attaching plugins.
- Deterministic conflict resolution (oldest policy wins) with Gateway API `PolicyAncestorStatus` reporting, including correct ancestor cleanup on route deletion.
- e2e tests (TCPRoute) and translator/controller unit tests.
### Example
```yaml
apiVersion: apisix.apache.org/v1alpha1
kind: L4RoutePolicy
metadata:
name: tcp-policy
spec:
targetRefs:
- group: gateway.networking.k8s.io
kind: TCPRoute
name: my-tcproute
plugins:
- name: ip-restriction
config:
whitelist:
- 127.0.0.0/24
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@apisix.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] feat: add L4RoutePolicy for attaching stream plugins to L4 routes [apisix-ingress-controller]
Posted by "AlinsRan (via GitHub)" <gi...@apache.org>.
AlinsRan merged PR #2791:
URL: https://github.com/apache/apisix-ingress-controller/pull/2791
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@apisix.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org