- Implement RAGFlowGCS class with full storage interface compliance
- Single bucket architecture with prefix-based logical separation
- Application Default Credentials (ADC) authentication support
- Add GCS to Storage enum and StorageFactory
- Add google-cloud-storage dependency to pyproject.toml
- Support for all standard operations: put, get, rm, copy, move, presigned URLs
Configuration:
- STORAGE_IMPL=GCS
- RAGFLOW__GCS__BUCKET=your-bucket-name
- GOOGLE_APPLICATION_CREDENTIALS=/path/to/credentials.json (optional)
IAM Requirements:
- Storage Object User (roles/storage.objectUser)
- Service Account Token Creator (roles/iam.serviceAccountTokenCreator)
Resolves#11716
### What problem does this PR solve?
To solve the problem of error reporting caused by type errors when
various types of exception returns are triggered
### Type of change
- [x] Bug Fix (non-breaking change which fixes an issue)
### What problem does this PR solve?
This PR adds webdav storage as data source for data sync service.
### Type of change
- [x] New Feature (non-breaking change which adds functionality)
### What problem does this PR solve?
This PR adds a native Moodle connector to sync content (courses,
resources, forums, assignments, pages, books) into RAGFlow.
### Type of change
- [x] New Feature (non-breaking change which adds functionality)
---------
Co-authored-by: Kevin Hu <kevinhu.sh@gmail.com>