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

gRPC web support #937

Open
kahirokunn opened this issue Oct 15, 2022 · 9 comments
Open

gRPC web support #937

kahirokunn opened this issue Oct 15, 2022 · 9 comments
Labels
enhancement New feature or request kind/feature-request lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness.

Comments

@kahirokunn
Copy link

I want to use gRPC web with Knative serving + Kourier, how do I set it up to work?
Envoy has gRPC web support.

@kahirokunn kahirokunn changed the title gRPC web support. gRPC web support Jan 1, 2023
@github-actions
Copy link

github-actions bot commented Apr 2, 2023

This issue is stale because it has been open for 90 days with no
activity. It will automatically close after 30 more days of
inactivity. Reopen the issue with /reopen. Mark the issue as
fresh by adding the comment /remove-lifecycle stale.

@github-actions github-actions bot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Apr 2, 2023
@kahirokunn
Copy link
Author

keep

@github-actions github-actions bot removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Apr 3, 2023
@ReToCode
Copy link
Member

Are you trying anything specific? This should work with setting the container port like this:

        ports:
          - name: h2c

See https://github.com/knative/docs/tree/main/code-samples/serving/grpc-ping-go for a full example.

@ReToCode ReToCode added question Further information is requested triage/needs-user-input Issues which are waiting on a response from the reporter labels Apr 18, 2023
@kahirokunn
Copy link
Author

gRPC Web needs to add a dedicated envoy filter
It doesn't work by itself!

@ReToCode
Copy link
Member

Ah I see. We do not currently support custom envoy configuration for Kourier. I'll add this as an RFE.
For now you could try to use https://github.com/knative-sandbox/net-istio as an ingress-controller for Knative. Istio allows to add custom envoy filters as a CR.

@ReToCode ReToCode added enhancement New feature or request kind/feature-request and removed question Further information is requested triage/needs-user-input Issues which are waiting on a response from the reporter labels Apr 18, 2023
@kahirokunn
Copy link
Author

Okay. Thx 🙏

@github-actions
Copy link

This issue is stale because it has been open for 90 days with no
activity. It will automatically close after 30 more days of
inactivity. Reopen the issue with /reopen. Mark the issue as
fresh by adding the comment /remove-lifecycle stale.

@github-actions github-actions bot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Jul 18, 2023
@kahirokunn
Copy link
Author

keep

@nak3 nak3 added lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. and removed lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. labels Jul 18, 2023
@wSedlacek
Copy link

wSedlacek commented Dec 17, 2023

I was looking at setting up knative with grpc-web but was hitting this as a blocker.

I am considering adopting knative for my team but this requires not only having a production environment running knative but development environments locally for my team. Installking kind and using quickstart to setup knative is easy enough, however quickstart doesn’t provide an option for using istio for networking when using this method.

This said the problem for me isn’t that there isn’t a way to get knative working with grpc-web, but rather that it isn’t easy to setup on development machines.

istio had a PR some time back that automatically setup the envoy filters when ports were named with a prefix of grpc-web-
istio/istio#10064
Perhaps something similar could be done with Kourier?

Not sure how transferable this code but this apepars to be the actual filter that is getting applied for context.
https://github.com/envoyproxy/go-control-plane/blob/main/envoy/extensions/filters/http/grpc_web/v3/grpc_web.pb.go

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request kind/feature-request lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness.
Projects
None yet
Development

No branches or pull requests

4 participants