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

[BUG] Customization of "Envoy Filter" to make an external call inside a Lua code #4662

Open
vraghani opened this issue Nov 19, 2024 · 3 comments
Assignees

Comments

@vraghani
Copy link

We have implemented a “custom side car injection” (in Istio-addon deployed in AKS Cluster) by using EnvoyFilter.
As per Istio documentation (Istio / Envoy Filter) , we have implemented example 2 , to intercept all HTTP calls and inject with Lua code to call an external service.

We extended custom LUA script to call an external service . As per documentation, for calling ext services requires a cluster definition in envoy. We implemented this and get an error
While deploying this yaml file we get an error as below:

Admission webhook has denied the request for envoy filter to create a cluster definition
Can you pls help on this issue ?

Version
Kubernetes version 1.29
Istio add-on 1.23

@nshankar13
Copy link

Hi @vraghani can you share the EnvoyFilter that you are using? Lua EnvoyFilter should be allowed: https://learn.microsoft.com/en-us/azure/aks/istio-about#limitations

@Winbobob
Copy link

In our current validation, we require each Lua EnvoyFilter patch has the typed_config and @type fields.
This validation works well when the patch is applied to HTTP_FILTER, but will block the request when the patch is applied to CLUSTER, which is the cluster definition . I think if we want to support cluster definition, we need to update our validation logic.

I believe this is the example you are using: https://istio.io/latest/docs/reference/config/networking/envoy-filter/#:~:text=idle_timeout%3A%2030s-,The%20following%20example,-enables%20Envoy%E2%80%99s%20Lua

@Winbobob
Copy link

We've merged the fix, and it will be rolled out in the next release, thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants