-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
Description
Description
Review current MinIO implementation for any issues and evaluate the option to integrate AWS S3 or S3-compatible storage.
Current Issues to Check
- MinIO connection stability
- File upload/download reliability
- Docker volume persistence
- Bucket initialization on startup
- Error handling and retry logic
Investigation Tasks
- Review MinIO logs for errors or warnings
- Test file upload edge cases (large files, concurrent uploads)
- Check bucket lifecycle and cleanup policies
- Verify file integrity after storage
- Test recovery after service restart
S3 Integration Evaluation
- Compare MinIO vs AWS S3 vs other S3-compatible services
- Cost analysis for different storage options
- Migration path from MinIO to S3
- Configuration flexibility (support both MinIO and S3)
- Performance comparison
Proposed Solution
Create abstraction layer for object storage to support multiple backends:
public interface ObjectStorageService {
void uploadFile(String path, InputStream content);
InputStream downloadFile(String path);
void deleteFile(String path);
}
// Implementations:
// - MinIOStorageService
// - S3StorageServiceConfiguration Options
opencontext:
storage:
type: minio # or 's3'
minio:
endpoint: http://minio:9000
access-key: minioadmin
secret-key: minioadmin123!
s3:
region: ap-northeast-2
bucket: opencontext-filesFiles to Review
core/src/main/java/com/opencontext/config/MinioConfig.java- File upload/download service implementations
docker-compose.ymlMinIO configuration
Decision Criteria
- Reliability and stability
- Cost effectiveness
- Ease of deployment
- Backup and recovery capabilities
- Support for self-hosted deployment