Skip to content
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

🗄️ Extend Appwrite Storage with Google Cloud Storage Adapter #3994

Closed
6 tasks
christyjacob4 opened this issue Sep 29, 2022 · 24 comments
Closed
6 tasks
Assignees
Labels
good first issue Good for newcomers hacktoberfest Issues that can win you some cool swags! product / storage Fixes and upgrades for the Appwrite Storage.

Comments

@christyjacob4
Copy link
Member

💭 Introduction

Appwrite Storage lets you upload images, videos, or any kind of file and store it for later. This comes with support for encryption, compression, chunk upload, resumable upload, and much more! 💪 To learn more, check out our official Appwrite Storage docs.

Every file uploaded to Appwrite Storage needs to be stored somewhere, whether that is your server’s hard drive or cloud provider. To make this possible, Appwrite uses storage adapters that each implement simple methods such as read(), move(), delete(), etc...

Your task is to implement support for Google Cloud Storage in Appwrite and the Utopia PHP storage library. We have prepared detailed documentation on how to create Utopia PHP storage adapter, and how to use Utopia PHP adapter in Appwrite. Please read these documents and ensure you understand it before working on this issue.

🎯 Requirements

  • Experience with Appwrite.
  • Experience with PHP.
  • Experience with Google Cloud Storage.
  • Experience with Docker and Docker Compose.

✅ Task Summary

  • Ask to be assigned to the issue.
  • Wait to be assigned.
  • Implement Utopia PHP storage adapter for Google Cloud Storage.
  • Submit a pull request in utopia-php/storage.
  • Implement Appwrite support for Google Cloud Storage.
  • Submit a pull request in appwrite/appwrite.

If you have questions, need any help, or just want to hang out, make sure to join us on our Discord server.

Happy Appwriting!

@christyjacob4 christyjacob4 added feature good first issue Good for newcomers hacktoberfest Issues that can win you some cool swags! product / storage Fixes and upgrades for the Appwrite Storage. labels Sep 29, 2022
@NightHack36
Copy link

Hi @christyjacob4 I would like to contribute to this issue, could you please assign this to me?

@tessamero
Copy link

@NightHack36 Looks like you have some issues assigned to you already. We request you to complete those before requesting assignments on new ones. Also, please consider picking a different type of issue so other contributors can try this one.

@eigengravy
Copy link

hi, i would love to have a go at this issue

@Meldiron
Copy link
Contributor

Meldiron commented Oct 7, 2022

@eigengravy , looks like you have some issues assigned to you already. Please allow us some time to review them before assigning you more issues. In the meantime, you could work on our issues for writing articles and building demo apps - those do not require assignments.

@gagandeepp
Copy link

interested please assign

@Meldiron
Copy link
Contributor

@gagandeepp , looks like you have some issues assigned to you already. We request you to complete those before requesting assignments on new ones.

@gagandeepp
Copy link

@Meldiron I already have raised PR to the issues assigned to me

@codercatdev
Copy link
Contributor

@eigengravy it looks like you are the next person with all issues having PR's in, thanks for your interest! You may work on this issue 🙏 Happy hacking! 🎃

@pomarec
Copy link
Contributor

pomarec commented Oct 20, 2022

My 2 cents : google cloud storage is compatible with S3 API.
Wouldn't it be easier to just allow a custom endpoint url (eg: https://storage.googleapis.com) to the AWS library ?

See relevant code : https://github.com/utopia-php/storage/blob/main/src/Storage/Device/S3.php#L117
See option in Google Cloud Console : Cloud Storage > Settings > Interoperability

@eigengravy
Copy link

oh, i will look into that. thanks for the tip.

@pomarec
Copy link
Contributor

pomarec commented Nov 21, 2022

Hi, if no one is working on it. I'm up for it. I'll implement S3 API of Google Storage.

@stnguyen90
Copy link
Contributor

@pomarec, assigned! Thanks for your interest! 🙏🏼

@pomarec
Copy link
Contributor

pomarec commented Nov 28, 2022

I've spend some time looking into it but can't make it work.
I'm not familiar enough with PHP and Curl.
My understanding is that changing only the url endpoint (see @eigengravy utopia-php/storage#64) does not workout. Google returns an http 400 error.

I leave the assignement as I wont be able to make it work.

@pomarec pomarec removed their assignment Nov 28, 2022
@eldadfux
Copy link
Member

Thank you everyone for celebrating Hacktoberfest 22 with us! This issue will now be closed as we're getting ready to celebrate Hacktoberfest 23.

@christyjacob4
Copy link
Member Author

We are accepting submissions for this issue once again for Hacktoberfest 2023

@christyjacob4 christyjacob4 reopened this Oct 1, 2023
@SiddharthJadhav99
Copy link

hey @christyjacob4, can you assign this issue to me? I think I'll be able to do this.

@Haimantika
Copy link
Contributor

hey @christyjacob4, can you assign this issue to me? I think I'll be able to do this.

Hi @SiddharthJadhav99 have assigned the issue to you! Thank you for showing interest in contributing to Appwrite! Happy Hacktoberfest 🎃

Notes:

Please update us with your progress every 3 days, so that we know that you are working on it.
Join us on Discord - https://appwrite.io/discord to chat about Hacktoberfest and Appwrite!

@sdroyc
Copy link

sdroyc commented Oct 3, 2023

Hi ! could I also work on this issue!

@Haimantika
Copy link
Contributor

Hi ! could I also work on this issue!

Hi, we are assigning issues on a first-come, first-serve basis, if the other user decides to drop, we will assign it to you.

@prabhakaran-jm
Copy link

I would like to work on this. Can you assign it to me?

@SiddharthJadhav99
Copy link

hey @Haimantika, just a quick update. I am able to implement read, write, listobjects, move within the adaptor. However, it is taking longer for me to implement the rest of functions cause of limited gcp storage client resources in php.

And also wanted to know, currently I am using Credential Json file path for authentication since authenticating via client Id or secret is not present. I hope it is fine. Let me know if you have any suggestions it would be really helpful :)

@christyjacob4
Copy link
Member Author

@SiddharthJadhav99 you can proceed with the json file approach as it appears to be the recommended way to authenticate to use google services 👍

@Haimantika
Copy link
Contributor

@SiddharthJadhav99 do you have an update? We will have to reassign the issue to the next person due to inactivity from your end.

@tessamero
Copy link

Closing this issue since the PR was closed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Good for newcomers hacktoberfest Issues that can win you some cool swags! product / storage Fixes and upgrades for the Appwrite Storage.
Projects
None yet
Development

Successfully merging a pull request may close this issue.