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

feat: Remove hard requirements for HTTP/2 #190

Merged
merged 3 commits into from
Oct 3, 2024

Conversation

chetan-rns
Copy link
Collaborator

@chetan-rns chetan-rns commented Oct 1, 2024

gRPC relies on HTTP/2 for multiplexing requests and is required for bi-directional streaming. However, intermediate infra components (load balancers, proxy, etc.) could be incompatible with HTTP/2 and may downgrade to HTTP/1.1. For these cases, we provide an option to use gRPC over WebSocket for bi-directional streaming that doesn't require HTTP/2. https://github.com/stackrox/go-grpc-http1 handles the translation between gRPC and WebSocket.

  • Flags to enable WebSocket
  • Update the principal and the agent code to use the go-grpc-http1 client if the flag is enabled
  • e2e tests with a HTTP/2 incompatible reverse proxy

Signed-off-by: Chetan Banavikalmutt <[email protected]>
@chetan-rns chetan-rns marked this pull request as ready for review October 1, 2024 18:32
test/proxy/proxy.go Dismissed Show dismissed Hide dismissed
jannfis and others added 2 commits October 1, 2024 20:06
Signed-off-by: Jann Fischer <[email protected]>
Signed-off-by: Chetan Banavikalmutt <[email protected]>
Copy link
Collaborator

@jannfis jannfis left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

Thank you!

@jannfis jannfis changed the title Remove hard requirements for HTTP/2 feat: Remove hard requirements for HTTP/2 Oct 3, 2024
@jannfis jannfis merged commit 52b3ee7 into argoproj-labs:main Oct 3, 2024
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants