api icon indicating copy to clipboard operation
api copied to clipboard

Waypoint Extensions

Open ilrudie opened this issue 2 years ago • 7 comments

(This is used to request new product features, please visit https://discuss.istio.io for questions on using Istio)

Describe the feature request

As part of the work to allow for vendors to create their own waypoint implementations we're going to need a mechanism to configure which GatewayClass.gateway.networking.k8s.io Istiod should consider waypoints. Present proposal is to use mechConfig

Describe alternatives you've considered

Using label selection ambient.istio.io/waypoint: true on the GatewayClass or Gateway Resources

Affected product area (please put an X in all that apply)

[ ] Configuration Infrastructure [ ] Docs [ ] Installation [X] Networking [ ] Performance and Scalability [ ] Policies and Telemetry [ ] Security [ ] Test and Release [ ] User Experience

Additional context Istio’s Layered Future, Policy and Conformance

ilrudie avatar Nov 27 '23 22:11 ilrudie

Can we discuss this further before execution? I think we can use 100% standard Gateway API with no custom annotations with some tweaks. I will present in WG wednesday.

howardjohn avatar Nov 27 '23 22:11 howardjohn

threw out a quick PR with a meshConfig update, we can just close if there's a better direction

(updated PR to be WIP)

ilrudie avatar Nov 27 '23 23:11 ilrudie

why cannot GatewayClassSpec.ControllerName satisfy customize waypoint?

hzxuzhonghu avatar Nov 28 '23 03:11 hzxuzhonghu

@hzxuzhonghu, I'm not sure I understand your proposal. Do you propose there should be some convention used in this field to identify controllers outside of istiod which have configured waypoint proxies?

ilrudie avatar Nov 28 '23 14:11 ilrudie

I mean user can do any customization deploying of waypoint based on ControllerName. For istio, istiod gateway deployment controller will handle it. Maybe i misunderstand your use case

hzxuzhonghu avatar Nov 28 '23 15:11 hzxuzhonghu

This was meant to provide a way for non-istio waypoints to be discovered in the mesh. If you've got controller-x which configures a waypoint for some namespace/SA but istiod/ztunnel aren't aware that it's a waypoint (vs it being any other implementation of kube gateways) we won't send traffic to it and it won't be enforcing any policy.

Edit, I added a link to the doc which provides background in the Additional Context section above.

ilrudie avatar Nov 28 '23 18:11 ilrudie

Got it now, will take a look

hzxuzhonghu avatar Nov 29 '23 02:11 hzxuzhonghu