Implement S3-compatible storage for registry backend #90
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This allows the registry backend to be used with other providers than GCP. We have been using this exact implementation in our organization without issues since January (https://github.com/readysetplay/wally/commit/1b4ceef242c6bc15055ebd9ab6e0c30b0ae0e52f) with hosting and storage on DigitalOcean.
S3 storage is configured using the following env variables:
AWS_REGION_NAME
- Name of the storage region to use such asus-east-1
AWS_REGION_ENDPOINT
- Full url endpoint of the S3 server. Some providers only need this and not the region name, so the region name can be omitted and defaults to the same region as therusoto
library that this implementation uses.Authorization is done using S3 standards and utilities that the
rusoto
library provides.The implementation is otherwise very similar to what is already implemented in Wally with GCP.