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

gateway-api: Support GRPCRoute resource #28654

Merged
merged 12 commits into from
Oct 26, 2023
Merged

gateway-api: Support GRPCRoute resource #28654

merged 12 commits into from
Oct 26, 2023

Conversation

sayboras
Copy link
Member

@sayboras sayboras commented Oct 17, 2023

Description

Please refer to individual commits for more details.

Fixes: #21928

gateway-api: Support GRPCRoute resource

@maintainer-s-little-helper maintainer-s-little-helper bot added the dont-merge/needs-release-note-label The author needs to describe the release impact of these changes. label Oct 17, 2023
@sayboras sayboras added release-note/minor This PR changes functionality that users may find relevant to operating Cilium. feature/k8s-gateway-api labels Oct 17, 2023
@maintainer-s-little-helper maintainer-s-little-helper bot removed the dont-merge/needs-release-note-label The author needs to describe the release impact of these changes. label Oct 17, 2023
@sayboras
Copy link
Member Author

/ci-gateway-api

@sayboras
Copy link
Member Author

/ci-gateway-api

@sayboras
Copy link
Member Author

/ci-gateway-api

@sayboras sayboras marked this pull request as ready for review October 18, 2023 09:50
@sayboras sayboras requested review from a team as code owners October 18, 2023 09:50
@sayboras
Copy link
Member Author

/test

Copy link
Member

@qmonnet qmonnet left a comment

Choose a reason for hiding this comment

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

I came for the docs, and the docs looked good.

Copy link
Member

@nbusseneau nbusseneau left a comment

Choose a reason for hiding this comment

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

Trivial ack for ci-structure.

Copy link
Contributor

@joamaki joamaki left a comment

Choose a reason for hiding this comment

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

Approve for install/kubernetes changes.

Copy link
Member

@mhofstetter mhofstetter left a comment

Choose a reason for hiding this comment

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

nice work @sayboras 🥳

i took a first look and added some comments inline. I'm not sure whether the gateway-api conformance tests are already enabled without having added the grpcRoute feature to the list of supported features. Might be worth to activate that first and have some feedback from the conformance tests too 😄 (comment: #28654 (comment))

operator/pkg/gateway-api/grpcroute.go Outdated Show resolved Hide resolved
operator/pkg/gateway-api/grpcroute.go Outdated Show resolved Hide resolved
operator/pkg/gateway-api/grpcroute.go Outdated Show resolved Hide resolved
operator/pkg/gateway-api/gateway_reconcile.go Outdated Show resolved Hide resolved
@mathpl mathpl changed the title gateaway-api: Support GRPCRoute resource gateway-api: Support GRPCRoute resource Oct 24, 2023
Signed-off-by: Tam Mach <tam.mach@cilium.io>
Signed-off-by: Tam Mach <tam.mach@cilium.io>
Signed-off-by: Tam Mach <tam.mach@cilium.io>
Signed-off-by: Tam Mach <tam.mach@cilium.io>
Use explicit http config in envoy cluster to avoid the below issue when
trying to send curl command to GRPC endpoint.

Before

```
< HTTP/1.1 502 Bad Gateway
< content-length: 0
< content-type: application/grpc-web-text+proto
< grpc-message: upstream connect error or disconnect/reset before headers. reset reason: protocol error
< grpc-status: 14
< date: Tue, 17 Oct 2023 13:57:43 GMT
< server: envoy
```

After
```
< HTTP/1.1 200 OK
< content-type: application/grpc-web-text+proto
< x-envoy-upstream-service-time: 0
< date: Tue, 17 Oct 2023 13:57:54 GMT
< server: envoy
< transfer-encoding: chunked
```

Signed-off-by: Tam Mach <tam.mach@cilium.io>
This should be created as part of recent version of Cilium CLI

Signed-off-by: Tam Mach <tam.mach@cilium.io>
This is to add basic GPRCRoute test, till we have more extensive
conformance test from upstream.

Signed-off-by: Tam Mach <tam.mach@cilium.io>
@sayboras
Copy link
Member Author

/test

Copy link
Member

@mhofstetter mhofstetter left a comment

Choose a reason for hiding this comment

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

LGTM, thanks again!

@mhofstetter
Copy link
Member

/test

1 similar comment
@sayboras
Copy link
Member Author

/test

@sayboras sayboras merged commit 3d5d793 into main Oct 26, 2023
290 of 452 checks passed
@sayboras sayboras deleted the tam/support-grpc-route branch October 26, 2023 08:37
@maintainer-s-little-helper maintainer-s-little-helper bot added ready-to-merge This PR has passed all tests and received consensus from code owners to merge. labels Oct 26, 2023
@joestringer
Copy link
Member

Should this be release-note/major?

@sayboras sayboras added release-note/major This PR introduces major new functionality to Cilium. and removed release-note/minor This PR changes functionality that users may find relevant to operating Cilium. labels Nov 3, 2023
sayboras added a commit to sayboras/cilium that referenced this pull request Jan 8, 2024
This is to make sure that Gateway is updated whenever there is change in
GRPCRoute.

Relates: cilium#28654
Signed-off-by: Tam Mach <tam.mach@cilium.io>
sayboras added a commit to sayboras/cilium that referenced this pull request Jan 8, 2024
This is to make sure that Gateway is updated whenever there is change in
GRPCRoute.

Relates: cilium#28654
Signed-off-by: Tam Mach <tam.mach@cilium.io>
sayboras added a commit to sayboras/cilium that referenced this pull request Jan 8, 2024
This is to make sure that Gateway is updated whenever there is change in
GRPCRoute.

Relates: cilium#28654
Signed-off-by: Tam Mach <tam.mach@cilium.io>
github-merge-queue bot pushed a commit that referenced this pull request Jan 8, 2024
This is to make sure that Gateway is updated whenever there is change in
GRPCRoute.

Relates: #28654
Signed-off-by: Tam Mach <tam.mach@cilium.io>
jibi pushed a commit that referenced this pull request Jan 12, 2024
[ upstream commit 8a421e7 ]

This is to make sure that Gateway is updated whenever there is change in
GRPCRoute.

Relates: #28654
Signed-off-by: Tam Mach <tam.mach@cilium.io>
Signed-off-by: Gilberto Bertin <jibi@cilium.io>
dylandreimerink pushed a commit that referenced this pull request Jan 15, 2024
[ upstream commit 8a421e7 ]

This is to make sure that Gateway is updated whenever there is change in
GRPCRoute.

Relates: #28654
Signed-off-by: Tam Mach <tam.mach@cilium.io>
Signed-off-by: Gilberto Bertin <jibi@cilium.io>
sayboras added a commit that referenced this pull request Jun 10, 2024
[ upstream commit 8a421e7 ]

This is to make sure that Gateway is updated whenever there is change in
GRPCRoute.

Relates: #28654
Signed-off-by: Tam Mach <tam.mach@cilium.io>
Signed-off-by: Gilberto Bertin <jibi@cilium.io>
Signed-off-by: Michi Mutsuzaki <michi@isovalent.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature/k8s-gateway-api ready-to-merge This PR has passed all tests and received consensus from code owners to merge. release-note/major This PR introduces major new functionality to Cilium.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

CFP: Support GRPCRoute in Cilium Gateway API
7 participants