-
Notifications
You must be signed in to change notification settings - Fork 969
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
feat(core): added support of the TLS certificates along with x-token authorisation token for the gRPC connection #3954
feat(core): added support of the TLS certificates along with x-token authorisation token for the gRPC connection #3954
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## feature_branch_grpc #3954 +/- ##
======================================================
Coverage ? 45.20%
======================================================
Files ? 309
Lines ? 22179
Branches ? 0
======================================================
Hits ? 10025
Misses ? 11054
Partials ? 1100 ☔ View full report in Codecov by Sentry. |
6c08a44
to
1901d84
Compare
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.
@vgonkivs this isn't a breaking change bc those fields are purely additive - nothing about validation logic for config has changed so no worries to base it on api-breaks. You can re-base it on main actually.
I'd propose merging it inside api breaks as we have one more PR related to the grpc connection. So, imo it's better to keep everything in one place. + I'm going to open one more PR based on the @rach-id changes to unify grpc clients. Merging current PR to main will block clients unification |
I was reviewing the PR and noticed that we're configuring client certificates, which seems to be for setting up mutual TLS (mTLS). My understanding is that we only need to verify the server's certificate since we'll be sending an x-token authorization header for client authentication. Do we really need client certificates on the client side in this case? Also, I didn't see any setup for root CA certificates, which are necessary when dealing with self-signed or custom certificates—a pretty common use case. Without specifying the root CA, the client won't be able to validate the server's certificate. Could we adjust the implementation to focus on server-side certificates and include support for custom root CAs? What are your thoughts? |
We agreed with @walldiss in DM that we don't want to keep any certificates for now(as they were out of the scope of the initial request) |
4436a9f
to
3f176d5
Compare
3f176d5
to
3ce38b2
Compare
3ce38b2
to
5d31b00
Compare
5d31b00
to
2ffba53
Compare
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.
SGTM
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.
happy with it, just some nits.
Looks good and simple. Additionaly it might be worth to add grpc layer unit tests for:
|
…authorisation token for the gRPC connection (#3954)
…authorisation token for the gRPC connection (#3954)
…authorisation token for the gRPC connection (#3954)
The PR introduces changes to the Core config. It extends the config with 2 additional fields that allow for configuring a secure grpc connection:
TLSEnabled
- specifies whether the connection is secure or not;XTokenPath
- the path to the directory with JSON file containing the X-Token for gRPC authentication.Three additional flags have been added to configure these fields:
core.tls
- allows to configure a secure connection. By default:false
core.xtoken.path
- allows to set an authorisation token. Should be passed along with thecore.tls
flag