talawa-api
talawa-api copied to clipboard
Feature: Added MinIO Setup and Configuration for Local and Docker Environments (GSoC'24)
What kind of change does this PR introduce?
Feature: Adds MinIO setup and configuration instructions for both local and Docker environments.
Issue Number:
Fixes #2419
Did you add tests for your changes?
Yes
Snapshots/Videos:
Added MinIO setup
https://github.com/user-attachments/assets/ff8783ae-9053-4732-8cea-1b9b4c8cfe5c
MinIO docker setup
https://github.com/user-attachments/assets/0007cad5-014b-48e0-aa3e-818185852f0c
MinIO local setup
https://github.com/user-attachments/assets/0fe0f143-b8bd-4b7e-9db3-4855a5ff0e6e
If relevant, did you update the documentation?
Yes
Summary
This PR introduces MinIO setup instructions into the project to streamline its deployment and configuration. Specifically, it adds:
- MinIO installation scripts and configuration.
- Updates to
.gitignore
,.dockerignore
, andpackage.json
to exclude MinIO metadata and update relevant scripts. - Changes to
create_env.py
andenvSchema
to include MinIO-specific environment variables. - Detailed documentation updates in
installation.md
for setting up MinIO locally and with Docker.
Have you read the contributing guide?
Yes
Summary by CodeRabbit
-
New Features
- Added support for MinIO object storage through new environment variables for configuration (
MINIO_ENDPOINT
,MINIO_ROOT_USER
,MINIO_ROOT_PASSWORD
,MINIO_BUCKET
,MINIO_DATA_DIR
). - Introduced MinIO services in both development and production Docker configurations, improving application scalability and storage management.
- Enhanced setup process with automated MinIO installation checks and configuration prompts.
- Implemented a utility function to manage entries in an ignore file for the MinIO data directory.
- Added support for MinIO object storage through new environment variables for configuration (
-
Documentation
- Updated installation documentation with detailed steps for setting up MinIO, including commands for various operating systems.
- Added video resources to the contributing guide for improved onboarding.
-
Bug Fixes
- Improved error handling for file read/write operations in the MinIO configuration process to enhance reliability.
- Enhanced test coverage for MinIO installation and configuration functions to ensure robustness.
- Added comprehensive unit tests for the ignore file management function to validate its behavior under various scenarios.