eclipse-hawkbit / hawkbit-extensions

Eclipse Public License 2.0
20 stars 30 forks source link

add GCS Storage Backend #44

Closed rpahli closed 5 years ago

rpahli commented 5 years ago

this PR adds support for GCS as storage backend

hawkbit[bot] commented 5 years ago

Thanks for taking the time to contribute to hawkBit! We really appreciate this. Make yourself comfortable while I'm looking for a committer to help you with your contribution. Please make sure you read the contribution guide and signed the Eclipse Contributor Agreement (ECA).

schabdo commented 5 years ago

Glad to see first extension for GCP joining hawkBit. This is the last missing piece to run hawkBit on all major public clouds. So thanks a lot for your incredible valuable contribution! Heads up, we'll need some time to merge it to master: The google-cloud-storage dependency is introducing a bunch of new transitive dependency. It will take a bit to get them through the Eclipse IP process.

hawkbit-bot commented 5 years ago

SonarQube analysis reported 9 issues

Watch the comments in this conversation to review them.

3 extra issues

Note: The following issues were found on lines that were not modified in the pull request. Because these issues can't be reported as line comments, they are summarized here:

  1. MINOR GcsRepository.java#: Replace all tab characters in this file by sequences of white-spaces. rule
  2. MINOR GcsRepositoryAutoConfiguration.java#: Replace all tab characters in this file by sequences of white-spaces. rule
  3. MINOR GcsRepositoryProperties.java#: Replace all tab characters in this file by sequences of white-spaces. rule
schabdo commented 5 years ago

Thanks a lot for your patience @rpahli! We're very close to get this PR merged. From 23 dependencies in question 21 were successfully scanned and approved by the Eclipse IP-team. So only 2 dependencies to go. We'll keep you posted about the results.

In the meanwhile may I ask you for the last time to update the PR and solve the merge conflicts? I think it's just new M4 parent-version and IntelliJ file exclude

schabdo commented 5 years ago

Thanks a lot @rpahli! We got another dependency cleared so only one left. I think on master a new method was introduced a few weeks ago. So exists(String sha1) should be existsByTenantAndSha1() now. This should do the trick to get build running again:

@Override
public boolean existsByTenantAndSha1(final String tenant, final String sha1Hash) {
   final Blob blob = gcsStorage.get(gcsProperties.getBucketName(), objectKey(tenant, sha1Hash));
   if (blob == null) {
        return false;
   }
   return blob.exists();
}
rpahli commented 5 years ago

Thanks for the feedback. Let's wait for the last dependency. :-)

schabdo commented 5 years ago

Awesome 👍