-
Feature Request
-
Resolution: Done
-
Major
-
None
-
None
-
Not Started
-
Not Started
-
Not Started
-
Not Started
-
Not Started
-
Not Started
It would be great we could offer the ability to deploy 3scale using S3 API-compatible options for the System's FileStorage.
One example of a S3 API-compatible option is minio (https://min.io/). This specific example is a use case that pbrookes would like to be able to use.
We've also been discussing how to provide it via the operator/templates https://github.com/3scale/3scale-operator/issues/249 and we have thought of providing the ability to specify the hostname and maybe the scheme?(http,https..) in the CR/template among with the other existing parameters (access key, secret key, ...)
Dev notes
- Some Object Storage server (Like Swift one of OpenStack storage server, or minio https://github.com/minio/cookbook/blob/master/docs/aws-sdk-for-ruby-with-minio.md) are compatible with AWS S3 API
- In https://github.com/3scale/porta/blob/42dc54b1464e93dbfff849e2e8d5815fa9257e5f/openshift/system/config/paperclip.yml we do not expose the hostname as per https://github.com/thoughtbot/paperclip/blob/v5.3.0/lib/paperclip/storage/s3.rb#L97.
- In fact, currently on Porta we only expose through env just a little subset of all the options for S3 API
- I think it is a bad idea to expose them all inside the paperclip.yml as environments, there are too many and we need to modify Porta and 3scale-operator. Not ideal …
- The solution would be to document the paperclip.yml file and tell customers that those are minimum configurations for making it work on AWS, for further customization refer to Paperclip documentation
- Pre-requisites is to make this file into a configMap in 3scale-operator
Implementation
Add another volume mount from secret for config/amazon_s3.yml in operator like https://github.com/3scale/3scale-operator/blob/2e18da635f1fb983355894b24ee58431c4e9b85b/pkg/3scale/amp/auto-generated-templates/amp/amp-eval-s3.yml#L2868-L2877
Also see THREESCALE-4052
1.
|
Implement S3 configurability via secret mounted as Pod volume | Closed | Unassigned |