Description
Review current MinIO implementation for any issues and evaluate the option to integrate AWS S3 or S3-compatible storage.
Current Issues to Check
Investigation Tasks
S3 Integration Evaluation
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
// - S3StorageService
Configuration 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-files
Files to Review
core/src/main/java/com/opencontext/config/MinioConfig.java
- File upload/download service implementations
docker-compose.yml MinIO configuration
Decision Criteria
- Reliability and stability
- Cost effectiveness
- Ease of deployment
- Backup and recovery capabilities
- Support for self-hosted deployment
Description
Review current MinIO implementation for any issues and evaluate the option to integrate AWS S3 or S3-compatible storage.
Current Issues to Check
Investigation Tasks
S3 Integration Evaluation
Proposed Solution
Create abstraction layer for object storage to support multiple backends:
Configuration Options
Files to Review
core/src/main/java/com/opencontext/config/MinioConfig.javadocker-compose.ymlMinIO configurationDecision Criteria