collado-mike commented on code in PR #370:
URL: https://github.com/apache/polaris/pull/370#discussion_r1802050806
##########
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 main purpose is for tests, but users could use it for manual testing if
they really needed it.
If your concern is the visibility of the class itself, it is a
package-private class, so isn't visible outside of that package. I can
certainly make it private instead, if that alleviates your concern.
--
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]