Files
pos-system/services/storage-service-net
Ho Ngoc Hai 619a06fafe fix(security): remove external Redis/MinIO/SMTP credentials from base appsettings.json
SEC-C-01 extended gap: 3 base appsettings.json files still referenced external
infrastructure (167.114.174.113) with Velik@2026 credentials and real SMTP
password — missed by the Wave 1 security fix which targeted DB credentials only.

Changes:
- iam-service-net/appsettings.json: Redis localhost (removed Velik@2026),
  SMTP localhost:1025 (removed Mailgun credentials)
- membership-service-net/appsettings.json: Redis localhost (removed Velik@2026)
- storage-service-net/appsettings.json: MinIO→localhost:9000 minioadmin/minioadmin,
  Redis→localhost (removed Velik@2026)

All production credentials (Redis, MinIO, SMTP) must be injected via
environment variables. Base appsettings.json targets docker-compose local stack.

CTO review finding: Redis__Password, MinIO:SecretKey, Email:SmtpPassword
must never appear in committed config files.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-23 09:54:59 +07:00
..

Storage Service

A .NET 10 microservice for file storage management supporting MinIO and Aliyun OSS.

Documentation

EN: English Documentation
VI: Tài liệu Tiếng Việt

Features

  • Multi-provider Storage: MinIO (S3-compatible) and Aliyun OSS
  • Runtime Provider Switching: Switch providers via environment variable
  • Complete File CRUD: Upload, download, delete, list files
  • Pre-signed URLs: Secure time-limited download/upload URLs
  • User Quotas: Storage capacity and file count limits
  • Folder Management: Logical folder organization (database-based)
  • File Versioning: Track and restore file versions
  • File Sharing: Share links with password, expiration, download limits
  • Inter-service Auth: JWT validation via IAM Service

Tech Stack

  • .NET 10
  • PostgreSQL
  • MinIO / Aliyun OSS
  • Redis (caching)
  • RabbitMQ (events)

Quick Start

cd services/storage-service-net

# Run with Docker
docker-compose up -d

# Or run locally
dotnet run --project src/StorageService.API

Access: http://localhost:5002/swagger

Project Structure

services/storage-service-net/
├── src/
│   ├── StorageService.API/           # Controllers, Commands, Queries
│   ├── StorageService.Domain/        # Entities, Repository interfaces
│   └── StorageService.Infrastructure/# Providers, DbContext, Repositories
├── tests/
│   ├── StorageService.UnitTests/
│   └── StorageService.FunctionalTests/
├── docs/
│   ├── en/                           # English documentation
│   └── vi/                           # Vietnamese documentation
└── README.md

License

MIT