-
Notifications
You must be signed in to change notification settings - Fork 7.4k
feat: Add Single Bucket Mode for MinIO/S3 #11416
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
base: main
Are you sure you want to change the base?
Conversation
|
Appreciations! |
Fixed |
|
@KevinHuSh any updates on the CI failure? As it seems it is timing out on the ES SDK tests |
Please remove alterations irrelevant to this PR's feature, such as in |
Keep only the single bucket mode additions (bucket and prefix_path) for the minio section, reverting all other unrelated changes.
Irrelevant alterations removed. |
Overview
This PR adds support for Single Bucket Mode in RAGFlow, allowing users to configure MinIO/S3 to use a single bucket with a directory structure instead of creating multiple buckets per Knowledge Base and user folder.
Problem Statement
The current implementation creates one bucket per Knowledge Base and one bucket per user folder, which can be problematic when:
Solution
Added a
prefix_pathconfiguration option to the MinIO connector that enables:Changes
rag/utils/minio_conn.py: Enhanced MinIO connector to support single bucket mode with prefix pathsconf/service_conf.yaml: Added new configuration options (bucketandprefix_path)docker/service_conf.yaml.template: Updated template with single bucket configuration examplesdocker/.env.single-bucket-example: Added example environment variables for single bucket setupdocs/single-bucket-mode.md: Comprehensive documentation covering usage, migration, and troubleshootingConfiguration Example
Backward Compatibility
✅ Fully backward compatible - existing deployments continue to work without any changes
bucketis not configured, uses default multi-bucket behaviorbucketis configured withoutprefix_path, uses bucket rootbucket/prefix_path/structureTesting
Documentation
Included comprehensive documentation in
docs/single-bucket-mode.mdcovering:Related Issue: Addresses use cases where bucket creation is restricted or costly