eric-maynard commented on code in PR #370:
URL: https://github.com/apache/polaris/pull/370#discussion_r1801708401
##########
polaris-service/src/main/java/org/apache/polaris/service/config/PolarisApplicationConfig.java:
##########
@@ -208,4 +215,58 @@ public void setAwsSecretKey(String awsSecretKey) {
public void setDefaultRealms(List<String> defaultRealms) {
this.defaultRealms = defaultRealms;
}
+
+ public Supplier<GoogleCredentials> getGcpCredentialsProvider() {
+ return gcpAccessToken != null
+ ? () -> GoogleCredentials.create(gcpAccessToken)
+ : () -> {
+ try {
+ return GoogleCredentials.getApplicationDefault();
+ } catch (IOException e) {
+ throw new RuntimeException("Failed to get GCP credentials", e);
+ }
+ };
+ }
+
+ @JsonProperty("gcp_credentials")
+ void setGcpCredentials(GcpAccessToken token) {
+ this.gcpAccessToken =
+ new AccessToken(
+ token.getAccessToken(),
+ new Date(System.currentTimeMillis() + token.getExpiresIn() *
1000));
+ }
+
+ /**
+ * A static AccessToken representation used to store a static token and
expiration date. This
+ * should strictly be used for testing.
Review Comment:
> the DefaultContextResolver is only for tests, as is the in-memory
metastore manager.
I see, so similar to these types, is it accurate to say that this
implementation can be used for _manual testing_, not just _automated tests_? I
originally understood this comment's "testing" to refer just to automated
tests. Sorry about that.
If it is the case that this can be used for the same kind of manual testing
that `DefaultContextResolver` is expected to be used for, I agree it makes
sense to keep this type. I would however propose that we move the type out of
`PolarisApplicationConfig` and perhaps change its name to be more explicit
about that expectation.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]