-
Notifications
You must be signed in to change notification settings - Fork 215
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
Framework support for gRPC #4211
Comments
This work will be necessary to support gRPC apps, e.g. https://github.com/microsoft/LSKV. |
Protobuf v22 includes a hard dependency on Abseil, so we don't want to include that as a dependency for all CCF apps. We think that's fine - the framework can speak HTTP/2 and produce gRPC error trailers, and protobuf parsing/encoding is only necessary in the application. We may still want to build an enclave-friendly, mitigated version of protobuf, and distribute it with CCF for easy app consumption, but we don't want to link it in every app. |
Now that we have support for gRPC at the application level, the framework should also support gRPC to report consistent errors to clients. For example, currently, if a gRPC application defines an authentication policy throws an authorisation error, this error will be formatted by the framework and returned as JSON, which at best will be confusing to the gRPC client.
Instead, we should format the errors based on the content type header of the incoming request. The existing governance and operator endpoints will remain as JSON only.
Tasks:
status.proto
, linkstatus.pb.cc
tolibccf_endpoints
content-type: application/json
or framed protobuf if requestcontent-type: application/grpc
(facilitated by Refactor frontend to remove return-based response, and retry endpoint lookup on conflict #4205): Automatically return gRPC errors for framework-level errors #4813The text was updated successfully, but these errors were encountered: