Add extensibility to ingress parsing
What should we add or change to make your life better?
There are a number of issues related to annotations and how that translates into route and cluster configuration.
- https://github.com/microsoft/reverse-proxy/issues/1479
- https://github.com/microsoft/reverse-proxy/issues/1828
- https://github.com/microsoft/reverse-proxy/issues/1550
There should be a more generic extension point for how annotations are converted into route options and how rules are converted into route matches.
Why is this important to you?
I have a number of custom annotations or transforms that I would like to attach to routes in a simplified manner. I also have some standards in how route matches are created that I would like to be able to apply automatically.
As the author of two of those requests, I can definitely understand the need for something more generic. While the cluster-Metadata feels like something that should just be there, the other case (Http Method) might be more of a niche case. Having a way to customize the annotations without needing to fork the entire project/YarpParser would definitely be useful and possibly reduce the number of one-off requests that would need to be considered (ie. Just implement this interface and customize away)