Files
hawkbit/extensions/hawkbit-extension-artifact-repository-s3
Kai Zimmermann 09b24fa97d Cleanup file streaming utilities (#559)
* Cleanup file streaming.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* Added missing comments.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* Fix typo.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* Split utility class.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* Dependency cleanup.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* Add missing dependency,

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* Remove repository api dependency from rest core.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* Fix build and sonar issues.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* Remove custom ConstraintViolationException

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* RequestMapping should be public.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* Fix errors.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* Removed dead code.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* Not null

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* Fix nullpointer.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* Code cleanup.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>
2017-07-19 12:43:07 +02:00
..
2017-03-30 08:46:31 +02:00

Eclipse hawkBit - Artifact Repository AWS S3

HawkBit Artifact Repository is a library for storing binary artifacts and metadata into the AWS S3 service.

Using Artifact Repository S3 Extension

The module contains a spring-boot autoconfiguration for easily integration into spring-boot projects. For using this extension in the hawkbit-example-application you just need to add the maven dependency.

<dependency>
  <groupId>org.eclipse.hawkbit</groupId>
  <artifactId>hawkbit-extension-artifact-repository-s3</artifactId>
  <version>${project.version}</version>
</dependency>

Configuration of the S3 Extension

Bucket

All files are stored in a bucket configured via property org.eclipse.hawkbit.repository.s3.bucketName (see S3RepositoryProperties). The name of the object stored in the S3 bucket is the SHA1-hash of the binary file.

S3 Credentials

The extension is using the DefaultAWSCredentialsProviderChain class which looks for credentials in this order:

  1. Environment variables (AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY)
  2. Java system properties (aws.accessKeyId and aws.secretKey)
  3. Default credential profile file (~/.aws/credentials)
  4. Amazon ECS container credentials
  5. Instance profile credentials

For more information check the Amazon credentials guide.

You can exchange the credentials provider by overwriting the AWSCredentialsProvider bean (see S3RepositoryAutoConfiguration).