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 expose section to use gateways other than admin, tenant, passthrough #1170

Open
docandrew opened this issue Jan 10, 2025 · 1 comment
Labels
enhancement New feature or request

Comments

@docandrew
Copy link
Contributor

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

Currently the UDS Package CR only allows the selection of admin, tenant and passthrough for gateway choice. As the variety of UDS packages expand, and additional gateways are added by developers, it would be nice to be able to have Expose create the virtual service for custom gateways instead of having to provide both.

Describe the solution you'd like

Given the expose key with gateway: <custom> this should be supported.

@docandrew docandrew added the enhancement New feature or request label Jan 10, 2025
@mjnagel
Copy link
Contributor

mjnagel commented Feb 6, 2025

Definitely makes sense to do imo. Changes to support this:

  • Change our current schema to allow any string for gateway, but continue to default to tenant
  • To simplify things we may need to make some assumptions, for example gateway: tenant = tenant-gateway in the istio-tenant-gateway today, so gateway: foobar might assume foobar-gateway in the istio-foobar-gateway namespace
  • To provide some validation/safeguarding around this, we can add a watch for Gateway resources being created/deleted and use that to build a list of valid gateways. When an invalid gateway is specified we can either (1) fail the Package CR reconciliation (2) use our validator to deny it, which would require running the watch in the admission pods as well or (3) just reconcile with a best effort strategy and toss a warning event on the package CR

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

2 participants