diff --git a/.env.production b/.env.production index 341ce6ed9..770f9e93c 100644 --- a/.env.production +++ b/.env.production @@ -43,14 +43,14 @@ CELERY_WORKER_CONCURRENCY=8 CELERY_WORKER_MAX_TASKS_PER_CHILD=1000 # ======================= -# MinIO 对象存储配置 +# OSS 对象存储配置 # ======================= -MINIO_ENDPOINT=47.98.113.167:9000 -MINIO_ACCESS_KEY=CHANGE_ME_PRODUCTION -MINIO_SECRET_KEY=CHANGE_ME_PRODUCTION -MINIO_BUCKET=xiaoxia-assets -MINIO_SECURE=false -MINIO_PUBLIC_URL=http://47.98.113.167:9000 +OSS_ENDPOINT=47.98.113.167:9000 +OSS_ACCESS_KEY_ID=CHANGE_ME_PRODUCTION +OSS_ACCESS_KEY_SECRET=CHANGE_ME_PRODUCTION +OSS_BUCKET_NAME=xiaoxia-assets +OSS_SECURE=false +OSS_PUBLIC_URL=http://47.98.113.167:9000 # ======================= # 日志配置 diff --git a/.env.staging b/.env.staging index 5472c3ddd..d35a2461c 100755 --- a/.env.staging +++ b/.env.staging @@ -43,9 +43,8 @@ CELERY_WORKER_CONCURRENCY=4 CELERY_WORKER_MAX_TASKS_PER_CHILD=1000 # ======================= -# MinIO 对象存储配置 +# OSS 对象存储配置 # ======================= -# OSS 对象存储配置 (原 MINIO_* 配置已统一为 OSS_* 命名) OSS_ENDPOINT=oss-cn-hangzhou.aliyuncs.com OSS_ACCESS_KEY_ID=CHANGE_ME_STAGING OSS_ACCESS_KEY_SECRET=CHANGE_ME_STAGING diff --git a/apps/api/app/core/storage.py b/apps/api/app/core/storage.py index e9871c18e..868334efb 100644 --- a/apps/api/app/core/storage.py +++ b/apps/api/app/core/storage.py @@ -211,8 +211,6 @@ class OSSStorageService: return self.bucket.object_exists(storage_key) -# 向后兼容的服务类名 -MinIOService = OSSStorageService _storage_service = None @@ -225,8 +223,3 @@ def get_storage_service() -> OSSStorageService: _storage_service = OSSStorageService() return _storage_service - -# 向后兼容的别名 -def get_minio_service() -> OSSStorageService: - """向后兼容:返回 OSS 服务(已替换 MinIO)""" - return get_storage_service() diff --git a/docs/CI-CD.md b/docs/CI-CD.md index c5712bb7b..41c3fe1d8 100644 --- a/docs/CI-CD.md +++ b/docs/CI-CD.md @@ -134,7 +134,7 @@ mypy packages/ apps/ --ignore-missing-imports ### Deploy 成功但业务链不通 优先检查: - `/var/lib/xiaoxia-saas-staging/.env` -- `MINIO_ENDPOINT` +- `OSS_ENDPOINT` - `DATABASE_URL` - worker 日志中的 Celery 任务消费情况 diff --git a/docs/基础设施安装指南.md b/docs/基础设施安装指南.md index 877cfffee..bf97a7dda 100644 --- a/docs/基础设施安装指南.md +++ b/docs/基础设施安装指南.md @@ -296,12 +296,12 @@ CELERY_BROKER_URL=redis://localhost:6379/1 CELERY_RESULT_BACKEND=redis://localhost:6379/2 # MinIO -MINIO_ENDPOINT=localhost:9000 -MINIO_ACCESS_KEY=minioadmin -MINIO_SECRET_KEY=minioadmin -MINIO_BUCKET=xiaoxia-saas -MINIO_SECURE=false -MINIO_PUBLIC_URL=http://localhost:9000 +OSS_ENDPOINT=localhost:9000 +OSS_ACCESS_KEY_ID=minioadmin +OSS_ACCESS_KEY_SECRET=minioadmin +OSS_BUCKET_NAME=xiaoxia-saas +OSS_SECURE=false +OSS_PUBLIC_URL=http://localhost:9000 # JWT JWT_SECRET_KEY=xiaoxia-dev-secret-key-please-change-in-production-min-32-chars diff --git a/docs/本地验证检查清单.md b/docs/本地验证检查清单.md index 074747c43..ede4b32aa 100644 --- a/docs/本地验证检查清单.md +++ b/docs/本地验证检查清单.md @@ -42,12 +42,12 @@ DATABASE_URL=postgresql://xiaoxia:xiaoxia123@localhost:5432/xiaoxia_saas REDIS_URL=redis://localhost:6379/0 # MinIO -MINIO_ENDPOINT=localhost:9000 -MINIO_ACCESS_KEY=minioadmin -MINIO_SECRET_KEY=minioadmin -MINIO_BUCKET=xiaoxia-saas -MINIO_SECURE=false -MINIO_PUBLIC_URL=http://localhost:9000 +OSS_ENDPOINT=localhost:9000 +OSS_ACCESS_KEY_ID=minioadmin +OSS_ACCESS_KEY_SECRET=minioadmin +OSS_BUCKET_NAME=xiaoxia-saas +OSS_SECURE=false +OSS_PUBLIC_URL=http://localhost:9000 # JWT JWT_SECRET_KEY=your-super-secret-key-change-in-production diff --git a/docs/静态验证报告-2026-06-19.md b/docs/静态验证报告-2026-06-19.md index 27acaf3e5..63af2f8c0 100644 --- a/docs/静态验证报告-2026-06-19.md +++ b/docs/静态验证报告-2026-06-19.md @@ -127,7 +127,7 @@ **检查项**: - ✅ 数据库配置(DATABASE_URL) - ✅ Redis 配置(REDIS_URL) -- ✅ MinIO 配置(MINIO_*) +- ✅ OSS 配置(OSS_*) - ✅ JWT 配置(JWT_SECRET_KEY) - ✅ Celery 配置(CELERY_BROKER_URL) diff --git a/tests/unit/test_architecture_boundaries.py b/tests/unit/test_architecture_boundaries.py index f777f067a..016a8f8e5 100644 --- a/tests/unit/test_architecture_boundaries.py +++ b/tests/unit/test_architecture_boundaries.py @@ -62,7 +62,7 @@ def test_canonical_auth_route_has_no_auth_simple_runtime_path(): def test_runtime_code_uses_oss_storage_naming_not_minio(): - allowed = {Path("apps/api/app/core/storage.py")} + allowed: set[Path] = set() offenders: list[str] = [] for root in [Path("apps"), Path("packages"), Path("tests")]: for path in root.rglob("*.py"):