Hello,
we are using following code:
apiVersion: networking.istio.io/v1alpha3
kind: EnvoyFilter
metadata:
name: checkout-lua
namespace: checkout-relqa
spec:
workloadLabels:
app: checkout
filters:
- listenerMatch:
portNumber: 80
listenerType: SIDECAR_INBOUND
listenerProtocol: TCP
filterName: envoy.lua
filterType: NETWORK
filterConfig:
inlineCode: |
We have tried using all permutaions and combinations in “filterType” and “listenerProtocol”
but this is giving us following error:
[2019-06-27 14:11:08.299][19][warning][config] [bazel-out/k8-opt/bin/external/envoy/source/common/config/_virtual_includes/grpc_mux_subscription_lib/common/config/grpc_mux_subscription_impl.h:77] gRPC config for type.googleapis.com/envoy.api.v2.Listener rejected: Error adding/updating listener(s) 10.68.28.4_8080: Didn't find a registered implementation for name: 'envoy.lua'
ufou
2
I’m trying to get this working too, though I get no errors in the pod logs at all (like the filter is completely ignored)
The one thing I notice about your config is that - listenerMatch: portNumber: 80
Does not match Error adding/updating listener(s) 10.68.28.4_8080
The port should be the same, right?
were you ever able to figure this out?
I am running into something similar and haven’t been able to find anything on this error.
ufou
4
Nope, we gave up in the end, though I have not tried since 1.5 Istio came out which looks to have many changes, some of which may help…
I believe envoy.lua is a HTTP filter so filterType needs to be HTTP. This has worked for me.
In the 1.2 docs Istioldie 1.2 / Envoy Filter
Note 3 mentions that listenerProtocol must also be HTTP, theres also an example
There is also a new way of doing these EnvoyFilters but I had issues with it and had to use this deprecated format.
(although looks like there may be a workaround for my issue now.)