-
Notifications
You must be signed in to change notification settings - Fork 707
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
Switch core packages to use connect. #6159
Conversation
Still need to send auth from headers to context. Signed-off-by: Michael Nelson <minelson@vmware.com>
✅ Deploy Preview for kubeapps-dev canceled.
|
Signed-off-by: Michael Nelson <minelson@vmware.com>
So this is currently failing because of a difference in the way errors are handled by the grpc frontend libraries. We had an issue where the initial request to get resources for an installed app has no way of telling, for carvel and flux, if a 404 means the app itself does not exist, or the app has not yet been realised. This is no longer handled and requires a change in the dashboard. |
Signed-off-by: Michael Nelson <minelson@vmware.com>
Finally found the issue causing the e2e failures in flux/carvel:
I've only switched the one error that was related to the e2e failure, but we will want to switch all the others in an audit afterwards (so they are not Unknown errors). |
...and it fixed the carvel e2e test, but not the flux one :/ |
Signed-off-by: Michael Nelson <minelson@vmware.com>
Signed-off-by: Michael Nelson <minelson@vmware.com>
Further debugging shows that for flux it gets as far as returning from the call to the plugin's get resource refs with the expected NotFound error but then, before the go-routine returns, it seems to dump a trace:
|
Caused a 502 as I assume the error was larger than expected. Signed-off-by: Michael Nelson <minelson@vmware.com>
...and the winner is: the error (which included the stack trace) was too large when converted to a ConnectError... but this was only seen during the translation back over the wire where the server returns a 502. Anyway, updated to simply send the error code over the wire and log the full error, which is working fine locally with flux. |
Description of the change
This PR switches the core packages API to be using the connect gRPC for gRPC and gRPC-Web. The authz token is then set in the context when calling the (currently untransitioned) plugin implementations.
Benefits
Step 2 of 4 done.
Possible drawbacks
Applicable issues
Additional information