This document provides general instructions how to confiture S3 storages of different cloud providers to be usable for PDM.cloud projects.

General configuration

Access configuration

The configuration of global S3 access parameters is stored under spring.cloud.aws. The path comes from Spring Cloud AWS project.

Example configuration
spring:
  cloud:
    aws:
      credentials:
        access-key: (1)
        secret-key: (2)
      s3:
        region: (3)
        endpoint: (4)
        # path-style-access-enabled: true  # Force path-style access for DigitalOcean Spaces

Bucket configuration

Use property pcon.cloud.s3.bucket-name to set name of bucket to be used.

Cloud provider configuration

There are few different cloud providers, which we use. Following chapters describes how to configure them.

Hetzner

In terminology of Hetzner the AWS S3 is called Object Storage.

Create bucket

Object storage are inside projects. Create bucket to get a space to store file into. Set access to private.

To get access keys go to project  Security  S3 credentials abd click Create Credentials. Save generated credential. They will not be shown again.

Configuration

access-key <1>, secret-key <2> - Use the one generated above.

region <3> - Always use value eu-central-1

endpoint <3> Use value depends on data center location.

Location Endpoint

Falkenstein

https://fsn1.your-objectstorage.com

Nuremberg

https://nbg1.your-objectstorage.com

Helsinki

https://hel1.your-objectstorage.com

More info: Hetzner doc.

Digital Ocean

In terminology of Digital Ocean the AWS S3 is called Spaces Bucket.

Create bucket

Go to Manage  Spaces Object Storage  Bucket and click on Create a Space Bucket.

  • Keep Enable CDN button unchecked.

  • Insert bucket unique name.

  • Select region and project

  • Click on Create a Spaces Bucket.

To get access keys go to Manage  Spaces Object Storage  Access Keys abd click Create Access Key.

Set permissions

  • PDM.control - Read / Write / Delete

  • Other services - Read

Add bucked the permissions should be applied to. Save generated key. It will not be shown again.

Configuration

access-key <1>, secret-key <2> - Use the one generated above.

region <3> - Always use value us-east-1

endpoint <3> Use value depends on data center location.

Location Endpoint

Frankfurt

https://fra1.digitaloceanspaces.com

More info: Digital Ocean doc.