argoproj / argo-rollouts

Progressive Delivery for Kubernetes
https://argo-rollouts.readthedocs.io/
Apache License 2.0
2.75k stars 863 forks source link

Allow customising managed routes #3155

Open artem-nefedov opened 11 months ago

artem-nefedov commented 11 months ago

Summary

Managed routes created by argo-rollouts will often lack important fields, making features like setHeaderRoute and setMirrorRoute significantly less usable than they could be. The request is to allow customising what fields will be added to created route.

This can be done by either explicitly defining custom fields that will be merged in into generated route, or being able to specify "reference" route to read fields from. In case of first option, it's important to be able to customise routes in different virtual services individually (second option does that automatically).

I think this may be relevant, but I'm not completely sure since I don't have an access to Slack: https://github.com/argoproj/argo-rollouts/issues/2073#issuecomment-1290028766

Use Cases

We use Istio, and for ingress traffic we use prefix match and rewrite functionality, and it's crucial for prefix match and rewrite to be present for all routes in VirtualService that is bound to ingress gateway. We also have a separate VirtualService for internal traffic only (no gateways), and argo-rollouts manages both of them. For local VirtualService, rewrite is not needed.


Message from the maintainers:

Impacted by this bug? Give it a πŸ‘. We prioritize the issues with the most πŸ‘.

eduardobaitello commented 6 months ago

Is this enhancement being considered for a future version?