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

Fix Java & Go SDK TLS support #986

Merged
merged 7 commits into from
Sep 7, 2020
Merged

Fix Java & Go SDK TLS support #986

merged 7 commits into from
Sep 7, 2020

Conversation

mrzzy
Copy link
Collaborator

@mrzzy mrzzy commented Sep 7, 2020

What this PR does / why we need it:
Follow up of #971:

  • implements missing TLS support for Java SDK.
  • Fixes Go SDK issue where it does not use system certificates if TLS enabled but no certificate path is specified.
  • Rename Go and Java SDK secure client creation methods to include "secure" instead of "authenticated"
    • Go SDK: NewAuthGrpcClient() -> NewSecureGrpcClient()
    • Java SDK: createdAuthenticated() -> createSecure()

Continuation of #504

Which issue(s) this PR fixes:

Fixes #

Does this PR introduce a user-facing change?:

implements TLS support for Java SDK.
 Rename Go and Java SDK secure client creation methods to include "secure" instead of "authenticated"
     - Go SDK: `NewAuthGrpcClient()` -> `NewSecureGrpcClient()`  
     - Java SDK: `createdAuthenticated()` -> `createSecure()`

@pyalex
Copy link
Collaborator

pyalex commented Sep 7, 2020

/lgtm

@pyalex
Copy link
Collaborator

pyalex commented Sep 7, 2020

/retest

sdk/go/client.go Outdated
tlsCreds, err := credentials.NewClientTLSFromFile(security.TLSCertPath, "")
if err != nil {
return nil, err
}
options = append(options, grpc.WithTransportCredentials(tlsCreds))
} else if security.EnableTLS {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this maybe be an else? the predicate is redundant.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated.

// configure client with no security config.
return FeastClient.createSecure(host, port, SecurityConfig.newBuilder().build());
} catch (SSLException e) {
throw new RuntimeException(e);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there a reason to rethrow without any attached message?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated createSecure() to throw IllegalArgumentException when provided with bad certificate.

  • Removed redundant try catch in create()

@pyalex
Copy link
Collaborator

pyalex commented Sep 7, 2020

/hold

@feast-ci-bot
Copy link
Collaborator

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: mrzzy, pyalex, woop

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@woop
Copy link
Member

woop commented Sep 7, 2020

/lgtm

@mrzzy
Copy link
Collaborator Author

mrzzy commented Sep 7, 2020

/unhold

@feast-ci-bot feast-ci-bot merged commit 1156db4 into feast-dev:master Sep 7, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants