-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Open
Labels
Description
Feature Request Template
Is your feature request related to a problem? Please describe.
GoFr currently supports SFTP and AWS S3 as file storage backends, but it does not support Google Cloud Storage (GCS). This limits its usage for teams and projects running on Google Cloud Platform. A unified interface for file storage should include GCS to improve flexibility and adoption.
Describe the solution you'd like
Implement GCS support as a new file provider module under pkg/datasource/file/gcs
.
It should:
- Follow GoFr’s existing interface-based architecture.
- Implement core methods like
Create
,Open
,ReadDir
,Stat
,Remove
, etc. - Simulate directories using object key prefixes (Unlike traditional filesystems or SFTP/S3, GCS has no real concept of directories).
- Use
cloud.google.com/go/storage
client library. - Add a
Config
struct to support bucket name and credentials. - Be plug-and-play using
app.AddFileStore(...)
.
Additional context
- This feature request is a part of the Summer of Code initiative to extend GoFr.