-
Notifications
You must be signed in to change notification settings - Fork 147
feat: implement gRPC datasource #1146
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
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…s for the datasource
more E2E than ever before!
ds meta to grpctest
So excited! (also, thanks for updating gqlparser!) |
StarpTech
approved these changes
May 16, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
devsergiy
reviewed
May 16, 2025
devsergiy
reviewed
May 16, 2025
devsergiy
reviewed
May 16, 2025
devsergiy
reviewed
May 16, 2025
v2/pkg/engine/datasource/grpc_datasource/grpc_datasource_test.go
Outdated
Show resolved
Hide resolved
devsergiy
reviewed
May 16, 2025
devsergiy
reviewed
May 16, 2025
devsergiy
reviewed
May 16, 2025
v2/pkg/engine/datasource/grpc_datasource/execution_plan_visitor.go
Outdated
Show resolved
Hide resolved
v2/pkg/engine/datasource/grpc_datasource/execution_plan_visitor.go
Outdated
Show resolved
Hide resolved
v2/pkg/engine/datasource/grpc_datasource/execution_plan_visitor.go
Outdated
Show resolved
Hide resolved
devsergiy
approved these changes
May 19, 2025
This was referenced May 19, 2025
Noroth
pushed a commit
that referenced
this pull request
May 19, 2025
🤖 I have created a release *beep* *boop* --- ## [2.0.0-rc.179](v2.0.0-rc.178...v2.0.0-rc.179) (2025-05-19) ### Features * implement gRPC datasource ([#1146](#1146)) ([146a552](146a552)) ### Bug Fixes * print indent once per level by default ([#1147](#1147)) ([0f022e5](0f022e5)), closes [#405](#405) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
AAAAAAHHH! It's merged! I'm going to take it for a spin! Sooooo excited! |
devsergiy
pushed a commit
that referenced
this pull request
Jun 5, 2025
🤖 I have created a release *beep* *boop* --- ## [1.3.0](execution/v1.2.0...execution/v1.3.0) (2025-06-05) ### Features * add apollo router compat flag for invalid variable rendering ([#1067](#1067)) ([e87961f](e87961f)) * add deprecated arguments support to introspection ([#1142](#1142)) ([1ac2908](1ac2908)) * apollo-router-like non-ok http status errors ([#1072](#1072)) ([e685c29](e685c29)) * differentiate between complete and close event types ([#1158](#1158)) ([79f3f41](79f3f41)) * **engine:** mutex free subscription handling ([#1076](#1076)) ([21be4ab](21be4ab)) * implement gRPC datasource ([#1146](#1146)) ([146a552](146a552)) * update engine version for execution pkg ([#1171](#1171)) ([9769beb](9769beb)) ### Bug Fixes * fix printing object value with optional fields ([#1065](#1065)) ([5730d72](5730d72)) * handle scalar values for lists ([#1155](#1155)) ([94031e5](94031e5)) * interface objects ([#1055](#1055)) ([858d929](858d929)) * print indent once per level by default ([#1147](#1147)) ([0f022e5](0f022e5)), closes [#405](#405) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request introduces several updates to dependencies and adds initial gRPC support to the codebase. The changes include upgrading various libraries, integrating gRPC client functionality into the engine configuration, and adding new methods and tests to support these updates.
Dependency Updates:
go.mod
files across the project, includinggithub.com/stretchr/testify
,github.com/cespare/xxhash/v2
, andgolang.org/x/net
, among others. These updates improve compatibility and security. [1] [2] [3] [4] [5]google.golang.org/grpc
,github.com/hashicorp/go-plugin
, andgithub.com/bufbuild/protocompile
to support gRPC functionality and other features. [1] [2]gRPC Integration:
grpcClient
field tofederationEngineConfigFactoryOptions
andFederationEngineConfigFactory
structs inconfig_factory_federation.go
to enable gRPC support. [1] [2]NewFederationEngineConfigFactory
function to initialize thegrpcClient
field. [1] [2]graphqlDataSourceGenerator
to handle gRPC-based data sources. [1] [2]Test Enhancements:
engine_config_test.go
andexecution_engine_test.go
to include cases for gRPC client integration. This ensures the new functionality is thoroughly validated. [1] [2] [3] [4]New Utility Methods:
NewSchemaFromBytes
method inschema.go
to create schemas from byte slices, complementing the existingNewSchemaFromString
method.These changes collectively enhance the project's capabilities, particularly by introducing gRPC support, improving dependency management, and adding utility and test coverage.