gentics / gentics/mesh

S3 Support

Open
#1,097 4 comments 0 reactions 0 assignees View on GitHub
feature question RFC
Dominant language
Java
Stars
593
Forks
123
Avg merge
2d 18h
Merged PRs (30d)
4

Description

Gentics Mesh can potentially make use of S3 in various ways. Each enhances the functionality in various ways.

# Options

## A - S3 Binary Storage

S3 can be used as a binary storage replacement. This means that every upload to Mesh for binary fields is passed onto the S3 server. The binaries will be stored using the binary field UUID in S3.

The path to the S3 object can be either determined via the binaryField Uuid or an S3 path property within the binary response JSON. This allows client applications to render S3 URLs for web clients.

Image Resize requests still need to be answered by Gentics Mesh. (Dynamically resized image data is not placed on S3)

## B - External S3 URL Support

Instead of uploading a file to Mesh you can include a S3 URL in your binary field JSON to update the field. Gentics Mesh will utilize this field when it needs to process binary data.

This way existing S3 data can be utilized in Gentics Mesh without the need to re-upload everything in mesh.

## C - S3 Link Resolving

Gentics Mesh will resolve mesh links to binary nodes into S3 URLs. This way asset links will directly point to S3 instead to Gentics Mesh. This allows web CDN usage of assets in S3.

# Feedback

We still need feedback before we can fully implement S3 support. We are curious whether the mentioned options would solve your specific use-case for S3 with Gentics Mesh. Please let us know if we missed something.

# Questions

* Is it acceptable that all assets are placed in a single bucket?
* How should / could permissions be handled for assets in the S3 bucket?
* How could image resizing be handled for S3 assets?

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.