New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Moving away from goamz to use minio-go instead. #4193
Conversation
Thanks @harshavardhana for the pull request! Per the CONTRIBUTING.md file displayed when you created this pull request, we need to add you to the list of approved contributors for the Mattermost project. Please help complete the Mattermost contribution license agreement? This is a standard procedure for many open source projects. Your form should be processed within 24 hours and reviewers for your pull request will be able to proceed. Please let us know if you have any questions. We are very happy to have you join our growing community! If you're not yet a member, please consider joining our Contributors community channel to meet other contributors and discuss new opportunities with the core team. |
Sweet! Thanks @harshavardhana! |
@it33 - please let me know how this looks, i haven't removed the goamz deps. Seems like it ends up removing some other deps as well, so was not sure what would you like to do. Let me know. Thanks for #hacktoberfest |
3cef021
to
fd5680f
Compare
Thanks @harshavardhana, and thanks for completing the CLA. I've added the "Dev Review" tag for comments. |
5462a56
to
bf089d5
Compare
Hi @harshavardhana I believe your |
Yes seems like fixing them. |
3a19ad9
to
97be6fb
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code looks good, nice work @harshavardhana !
Still need a PM to test this.
Can you let me know how to do this.. happy to help. |
Haha no worries @harshavardhana, I've poked a PM to come look at this, setup a test server and give it a test. No action needed from you :) |
Hi @harshavardhana, thanks for the PR! I've attempted to test this but there seems to be a bug with the "Amazon S3 Secure" field. The field seems to copy whatever value is typed into the "Amazon S3 Region" field and then cannot be edited, causing an error on save (see screenshot). Other minor notes regarding the "Amazon S3 Secure" field:
|
97be6fb
to
324b18c
Compare
Changed @esethna . let me know if the changes look good. |
Thanks everyone, really great work! Just my thoughts high level: 1) Replacing the S3 driver with Minio is a great first step
2) Add UI & docs for MinioIt may be an option that says "S3 or Minio" or different drop down options so the admin knows which is being used. Need to add docs too, including link on how to setup Minio, etc. We can take off the "unofficial" tag at this point. 3) We need to add file scenarios to Mattermost Load Test
At this point we can take off the Somewhere along the way it probably makes sense to do a Hacktoberfest blog post, as this is a pretty awesome PR. |
Thanks @harshavardhana, maybe @jwilander can help point you in the right direction? |
Fixed it there was bug in how the path was specified during upload v/s how it is read. Looks like previous library modified this internally by cleaning the prefix '/'.
|
Changed the behavior to have this option as "Secure" instead of "InSecure" it is the negation of what is common.
This works now with or without SSL. Pushing the new change. |
minio-go does fully managed way of handling S3 API requests - Automatic bucket location management across all s3 regions. - Transparently upload large files in multipart if file 64MB or larger. - Right GetObject() API provides compatibility with io.ReadWriteSeeker interface. - Various other APIs including bulk deletes, server side object copy, bucket policies and bucket notifications. Fixes mattermost#4182
2f505d3
to
5aabd88
Compare
Is there anything waiting on me for this one? |
Sorry for the delay @harshavardhana, we had some trouble setting up test servers end of last week. @esethna can you help test when you get the chance, now that the test servers are working again? |
+1, thanks for the changes @harshavardhana! Tested image uploads, downloads and profile pictures with the "Secure Amazon S3 Connections" setting toggled on and off. |
Pull Request queued for Stage 2: Developer Review. |
Pull Request queued for Stage 3: Ready to Merge. |
@harshavardhana Excited that we got this PR in! Would you be interested in helping add documentation for this change? This would involve updating the File > Storage section of config-settings.rst doc to mention Minio (appended with |
Yes will do @esthena |
Thanks! |
Summary
minio-go does fully managed way of handling S3 API requests
or larger.
io.ReadWriteSeeker interface.
copy, bucket policies and bucket notifications.
Ticket Link
#4182
Checklist
Fixes #4182