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

proposal: ablility to add clusters in PostHTTPListenerModify hook #4373

Open
zirain opened this issue Sep 30, 2024 · 3 comments
Open

proposal: ablility to add clusters in PostHTTPListenerModify hook #4373

zirain opened this issue Sep 30, 2024 · 3 comments
Labels
area/extensions kind/decision A record of a decision made by the community.

Comments

@zirain
Copy link
Contributor

zirain commented Sep 30, 2024

I have a CRD managed by an ExtensionManager, which will create an insert HttpFilter in the HCM (think about RateLimit filter as an example).
The question is how do I manage the cluster referenced by the new filter?
Now, I can only add a cluster in the "PostTranslateModify" hook, but I can't filter only the CRDS referenced by the gateway.
I recommend enabling 'PostHTTPListenerModify' to add clusters.

WDYT? @Alice-Lilith @LiorLieberman @guydc @arkodg @zhaohuabing

@zirain zirain added area/extensions kind/decision A record of a decision made by the community. labels Sep 30, 2024
@guydc
Copy link
Contributor

guydc commented Oct 1, 2024

cc @liorokman

@guydc
Copy link
Contributor

guydc commented Oct 1, 2024

I recommend enabling 'PostHTTPListenerModify' to add clusters

There's some risk here for a conflict with EG, if the cluster created by the extension server has the same "id" as a cluster that EG needs to create, if we allow extension server to create clusters before EG.

What about having a notion of user-defined backend extensions? Essentially, a CRD for defining clusters. If you control creation of listeners and clusters, you can make sure to use a consistent id.

This can even be supported in backendrefs, allowing vendors and users to build custom service discovery extensions that integrate with non-k8s service registries (consul, ... )

@zirain
Copy link
Contributor Author

zirain commented Oct 8, 2024

What about having a notion of user-defined backend extensions? Essentially, a CRD for defining clusters. If you control creation of listeners and clusters, you can make sure to use a consistent id.

  1. another kind of Backend?
  2. we may won't share clusters across listner?

This can even be supported in backendrefs, allowing vendors and users to build custom service discovery extensions that integrate with non-k8s service registries (consul, ... )

this will bring more complex than expected.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/extensions kind/decision A record of a decision made by the community.
Projects
None yet
Development

No branches or pull requests

2 participants