-
Notifications
You must be signed in to change notification settings - Fork 62
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
🚀 Feature: Implement a generic S3 adapter #28
Comments
Adding some references for how to use the AWS CLI with S3-compatible providers:
|
I might be able to work on this as generic S3-comptabile functionality is something I'd like to see in appwrite. I've already provided #75 which addresses #37 for MinIO as that's a current need I had - but if you have any guidance on how you'd like to see this implemented it would definitely be appreciated. |
@haymaker it would be good to create a new adapter for now so we don't interfere with the others. Have you used the S3 CLI tool (or something similar) with a S3 compatible provider? |
I have, just not in the context of doing so for significant testing against any particular provider. Would you prefer a generic adapter that extends the current S3 adapter and implements a URI-style parameter for the endpoint variable via method overloading? This seems like the better approach as it would cover providers that use either the host/bucket or subdomain schemes while limiting code duplication. |
@haymaker, just like how you use the S3 CLI tool with the other S3 compatible providers, I think it would be good for the adapter to behave the same way. |
FYI @stnguyen90 - PR #76 is open to address this :-) |
@stnguyen90 - are there any issues I need to address with this? |
Please add Ionos S3 adapter as well, thank you. |
🔖 Feature description
A generic S3 adapter not dissimilar from what's already implemented. The main difference would be a more easily customizable host option, and a toggle for using path based buckets and subdomain based buckets as not all S3 compatible servers use one over the other (Path deprecation notice)
🎤 Pitch
Creating a generic adapter would allow the use of multiple different providers without having to create an adapter for each. (e.g. Digital Ocean Spaces, AWS S3, MinIO, Backblaze, etc.)
This would allow for upstream projects (i.e. appwrite) to allow user customizable storage locations set to any S3 API compliant service instead of being vendor-locked to one specific.
This would also satiate #25's requirements.
👀 Have you spent some time to check if this issue has been raised before?
🏢 Have you read the Code of Conduct?
The text was updated successfully, but these errors were encountered: