I am deploying multiple API versions (helm chart) from automated pipeline and I want to deploy an Istio virtual service to establish routing to those version (/v1, /v2, etc.). Each of these API helm releases are in a branch or tag of their own, deployed using a CI pipeline. Usually I would have used ingress rules to do the routing and each of these rules would have been maintained by each helm release deployment. Since Istio virtual service limits use of one virtual service per host, I cannot allow each deployment to deploy their own "route" using virtual service.
I am looking for ideas and patterns to manage the deployment and lifecycle of multple API versions (backed by different helm releases) along with their Istio virtual service.
Any suggestions?
flagger
(flux) orargocd rollouts
to manage the virtual service versions?