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

Framework support for gRPC #4211

Open
1 of 3 tasks
jumaffre opened this issue Sep 9, 2022 · 2 comments
Open
1 of 3 tasks

Framework support for gRPC #4211

jumaffre opened this issue Sep 9, 2022 · 2 comments
Labels
gRPC gRPC support to support external executors

Comments

@jumaffre
Copy link
Contributor

jumaffre commented Sep 9, 2022

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:

@jumaffre
Copy link
Contributor Author

jumaffre commented Mar 9, 2023

This work will be necessary to support gRPC apps, e.g. https://github.com/microsoft/LSKV.

@eddyashton
Copy link
Member

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.

@achamayou achamayou added enhancement gRPC gRPC support to support external executors labels May 15, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
gRPC gRPC support to support external executors
Projects
None yet
Development

No branches or pull requests

4 participants