You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem? Please describe
Please describe the end goal of this project
Overview
The gRPC transport server plugin should provide a clean API through which plugins may extend server functionality. Some key points of extensions include adding services to the gRPC server on startup and intercepting gRPC requests for the purposes of telemetry and observability.
Features
1. Plugin Registration Mechanism
Provide a clean API/interface for plugins to register protobuf service definitions.
Consider how to handle protobuf namespace conflicts between plugins (plugins will need to consume core protobuf definitions).
2. Interceptor Registration Mechanism
Provide a clean API/interface for plugins to register ServerInterceptor implementations. Relevant for plugins which need to intercept calls to the gRPC server for telemetry or observability purposes.
3. Error Handling & Stability
Catch and handle plugin errors from the gRPC server. Preventing plugin failures from affecting core gRPC service availability.
4. Testing & Validation
Framework for testing plugin gRPC services.
Validation of plugin protobuf definitions.
Node should maintain a registry of io.grpc.BindableService services which plugins are able to freely add to.
The entire registry is provided to the grpc transport plugin and service validation is performed on startup.
Compatibility errors are fatal and prevent node start.
Related component
Plugins
Describe alternatives you've considered
No response
Additional context
No response
The text was updated successfully, but these errors were encountered:
Is your feature request related to a problem? Please describe
Please describe the end goal of this project
Overview
The gRPC transport server plugin should provide a clean API through which plugins may extend server functionality. Some key points of extensions include adding services to the gRPC server on startup and intercepting gRPC requests for the purposes of telemetry and observability.
Features
1. Plugin Registration Mechanism
Provide a clean API/interface for plugins to register protobuf service definitions.
Consider how to handle protobuf namespace conflicts between plugins (plugins will need to consume core protobuf definitions).
2. Interceptor Registration Mechanism
Provide a clean API/interface for plugins to register
ServerInterceptor
implementations. Relevant for plugins which need to intercept calls to the gRPC server for telemetry or observability purposes.3. Error Handling & Stability
Catch and handle plugin errors from the gRPC server. Preventing plugin failures from affecting core gRPC service availability.
4. Testing & Validation
Framework for testing plugin gRPC services.
Validation of plugin protobuf definitions.
Supporting References
Experimental grpc-transport pr - #16534
Ecosystem meta issue
Related component
Plugins
Describe the solution you'd like
Node should maintain a registry of
io.grpc.BindableService
services which plugins are able to freely add to.The entire registry is provided to the grpc transport plugin and service validation is performed on startup.
Compatibility errors are fatal and prevent node start.
Related component
Plugins
Describe alternatives you've considered
No response
Additional context
No response
The text was updated successfully, but these errors were encountered: