changes for support session affinity in istio
There were multiple tickets requesting session affinity support for Istio for weighted routes. This change adds a new webhook to support session affinity for istio. Below is the document explaining the design in detail
https://docs.google.com/document/d/1Xn4QiwOHE7Z0MJAFlxmndpeOpxCrXDosVLyz-6oq4uI/edit?usp=sharing
@stefanprodan can u look at this pull request
Hi @stefanprodan, we'd like to merge this in after significant testing so that we can support the use case of allowing teams to perform canary rollouts while maintaining affinity to a specified cookie (ie, code version hash) so that clients don't bounce back and forth between versions of code during canary & rollout. Can you please review?
Hello @pitiwari @ryanjwh, thank you for raising this PR. Support for session affinity during progressive delivery is planned and will be implemented soon. Having gone through your PR, introducing a new webhook is not the ideal way to do it IMO. This should be done via traffic rules set up using Istio, Contour or whatever you're using. I'm currently working on this and will open a PR soon. If you want to discuss about the idea/approach more, please feel free to do so in the flagger channel in CNCF slack.