Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow VirtualService Configuration with Multiple Match -> Prefix -> Routes #975

Open
anthonywendt opened this issue Nov 1, 2024 · 2 comments
Labels
enhancement New feature or request

Comments

@anthonywendt
Copy link
Contributor

Is your feature request related to a problem? Please describe.

Currently you can only configure a virtual service to route to one service. I would like to be able to configure a single virtual service to route to multiple services that can match to a uri.

Describe the solution you'd like

I would like to be able to create a virtual service spec like this.

Spec:
  Gateways:
    istio-tenant-gateway/tenant-gateway
  Hosts:
    my-app.uds.dev
  Http:
    Match:
      Uri:
        Prefix:  /api
    Route:
      Destination:
        Host:  my-app-api
        Port:
          Number:  80
    Match:
      Uri:
        Prefix:  /
    Route:
      Destination:
        Host:  my-app-frontend
        Port:
          Number:  80
@anthonywendt anthonywendt added the enhancement New feature or request label Nov 1, 2024
@corang
Copy link
Contributor

corang commented Jan 14, 2025

Just want to +1 this, not very common but still pops up from time to time, and removing the complexity of managing entire virtualservice and associated netpols would be really nice.

@mjnagel
Copy link
Contributor

mjnagel commented Feb 6, 2025

Updating this issue with some context from Slack - we should generally support the intent of this issue, however the implementation might not be exactly the way you expect. We do support multiple expose endpoints, and you can use the same host in multiple (we actually do this for keycloak). The only gotcha would be making sure that the characteristics of the VS don't overlap and cause conflicting names (easily avoided with the description field). Otherwise this should be a viable path to accomplish what you want here, just with multiple VirtualServices rather than a single one.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants