Open munjalpatel opened 3 years ago
Hello, I have similar problem. I need to deploy a wasm filter on gateway, but I receive an error, it cannot find the file system: /var/local/lib/wasme-cache
From my understanding the sidecar is able to mount that FS thanks to these annotations: sidecar.istio.io/userVolume: '[{"hostPath":{"path":"/var/local/lib/wasme-cache"},"name":"cache-dir"}]' sidecar.istio.io/userVolumeMount: '[{"mountPath":"/var/local/lib/wasme-cache","name":"cache-dir"}]'
and it seems that the same annotations don't have the same result on the gateway.
However, by adding
volumeMounts:
and
volumes:
to istio ingress deployment it works.
So it seems that the annotations below doesn't add the mountpath to the pods.
I am using kube 18.3 and istio 1.7 and wasme version 0.0.33, Is it a bug?
Hi @kratosmat, you are correct - the gateway needs to have the volume mounted so that it has access to the cache. Since it's not a sidecar, the istio sidecar annotations won't work here.
We'll take a look at documenting this better, as well as potential enhancements to the wasme CLI that could remove the need to add the volume mount manually.
Describe the bug I am trying to deploy a filter directly into istio
ingress-gateway
but it does not seem to be working. I don't get any errors, but I also don't get updated response headers as requested in the filter.To Reproduce
Create a new
tinygo
filterBuild and publish the filter
Deploy the filter to istio ingress gateway
Make an HTTP request that goes through Istio ingress gateway.
Expected behavior In the response, I would expect a header with key
hello
and valueworld
However, notice that the header in the response is not present.Additional context Istio version:
Here is the code for the filter:
main.go
runtime-config.json