Commit Graph

21 Commits

Author SHA1 Message Date
xiaoxia f5d3482fa9 fix: P0-2 OSS 凭证启动验证 + 诊断日志 (#209)
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 15s
CI/CD Pipeline / Frontend Lint (push) Successful in 1m6s
CI/CD Pipeline / Build & Push Staging (Watchtower auto-deploy) (push) Has been skipped
CI/CD Pipeline / Build Production Runtime Images (push) Has been skipped
CI/CD Pipeline / Staging E2E Tests (push) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (push) Has been skipped
CI/CD Pipeline / Deploy Production (push) Has been skipped
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
2026-07-10 18:15:42 +08:00
xiaoxia 52ff2f80ad style: apply black formatting to pass CI validation (#126)
CI/CD Pipeline / Validate Code Quality And Tests (push) Has been cancelled
CI/CD Pipeline / Frontend Lint (push) Has been cancelled
Deploy / Deploy Staging (push) Has been cancelled
Deploy / Build Production Runtime Images (push) Has been cancelled
Deploy / Deploy Production (push) Has been cancelled
Deploy / Production Browser E2E (push) Has been cancelled
2026-06-30 17:23:08 +08:00
Audit Bot e6ecce79ee fix: rename OSS_DIRECT_UPLOAD_EXPRESS_SECRET to OSS_DIRECT_UPLOAD_EXPIRE_SECONDS
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Lint (pull_request) Has been cancelled
Root cause of upload endpoint 500 errors:
- config.py defined OSS_DIRECT_UPLOAD_EXPRESS_SECRET (wrong name)
- upload.py accessed settings.OSS_DIRECT_UPLOAD_EXPIRE_SECONDS (correct name)
- AttributeError on every call to prepare_direct_upload → 500

This fixes both /api/v1/upload/prepare-direct-upload and any other
upload endpoints that reference the expire seconds config.
2026-06-30 09:24:27 +08:00
Audit Bot b98c83582b fix: 上传文件大小限制从 800MB 提升至 2000MB
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Lint (pull_request) Has been cancelled
P0 修复:
- config.py: OSS_DIRECT_UPLOAD_MAX_MB 默认值从 800 改为 2000
- config.py: 添加 AliasChoices 支持 MAX_UPLOAD_SIZE_MB 环境变量
  (.env.production 中 MAX_UPLOAD_SIZE_MB=2000 现在可被正确读取)

P1 修复:
- infra/nginx/xiaoxia-saas.conf: client_max_body_size 800m → 2g(3处)
- infra/docker/nginx-production.conf: client_max_body_size 800m → 2g
2026-06-29 22:11:22 +08:00
CI Test 095e3b5d00 fix(P2-2): SMTP_FRON_NAME 拼写错误修正为 SMTP_FROM_NAME
CI/CD Pipeline / Validate Code Quality And Tests (push) Has been cancelled
CI/CD Pipeline / Frontend Lint (push) Has been cancelled
Deploy / Deploy Staging (push) Has been cancelled
Deploy / Build Production Runtime Images (push) Has been cancelled
Deploy / Deploy Production (push) Has been cancelled
Deploy / Production Browser E2E (push) Has been cancelled
2026-06-28 10:26:28 +08:00
Audit Bot b58388dec0 fix(#17): 调整数据库连接池配置
- 将 DATABASE_MAX_OVERFLOW 从 40 调整为 10
- pool_size(20) + max_overflow(10) = 最大 30 连接
- 添加注释说明连接池配置
2026-06-27 17:20:17 +08:00
xiaoxia a6e85092ce fix: 统一 ENABLE_REDIS_SESSIONS 命名,修复登录因 AttributeError 导致 500 2026-06-27 17:05:48 +08:00
CI Bot 9f6ed89c09 fix: update default APP_VERSION to 0.1.61 2026-06-27 00:42:24 +08:00
xiaoxia b966d24ecf fix: resolve CI check failures - format code and add nosec comment 2026-06-26 18:00:11 +08:00
xiaoxia c04b57a1f8 fix(security): P0 - JWT密钥强制环境变量,拒绝默认值 2026-06-26 17:43:35 +08:00
Xiaoxia AI 6e42f944c0 feat(upload): add OSS direct upload flow 2026-06-23 15:47:03 +08:00
Xiaoxia AI ea92092d12 chore(security): triage bandit findings 2026-06-21 13:38:46 +08:00
Xiaoxia AI 3594cc1216 refactor(auth): configure external service adapters 2026-06-21 11:04:07 +08:00
Xiaoxia AI bfbaddbd9a style: normalize python formatting gates 2026-06-21 06:52:19 +08:00
Xiaoxia AI 0809a079c5 refactor(db): introduce alembic schema baseline 2026-06-21 06:48:16 +08:00
Xiaoxia AI 57310f33d4 fix(auth): harden simple auth and router imports 2026-06-21 00:27:58 +08:00
Xiaoxia AI 94dd60108c refactor: 彻底迁移到阿里云 OSS 并重构基础设施
- 删除 MinIO 依赖,改用阿里云 OSS (oss2)
- 重写存储服务 storage.py(完全兼容原接口)
- 更新配置:config.py 改为 OSS_* 配置项
- 重构 Docker Compose:分离基础设施(infra.yml)和应用(compose.yml)
- 添加健康检查和自动重启配置
- 创建标准化部署脚本(init-server.sh + deploy.sh)
- 统一 Nginx 配置(主域名 api.xiaoxiajianji.com)
- 修复 Web Dockerfile 端口映射(80 not 3000)

服务器清理完成:
- 删除旧云控制台、监控系统、桌面版代码
- 删除 2.6GB 旧安装包
- 清理 Docker 缓存 2.5GB
- 磁盘使用率从 48% 降至 26%
2026-06-20 15:24:24 +08:00
Xiaoxia AI 8d78798a7d fix(phase7): align api runtime wiring for integration 2026-06-17 18:48:08 +08:00
Xiaoxia AI 81aaef4fb9 feat(config): add environment configuration management
- Add comprehensive environment configuration guide
- Create .env.development for development setup
- Create .env.production.example as production template
- Add LOG_LEVEL configuration to Settings
- Add .env.production to .gitignore
- Support multiple environments: dev/test/staging/prod
- Include security best practices and checklists

Phase 4 Task 43/68 completed
2026-06-17 08:38:13 +08:00
Xiaoxia AI 015fe3d507 feat(config): add database switch between InMemory and PostgreSQL
- Add USE_IN_MEMORY_DB config flag
- Auto-select repository implementation based on config
- InMemory: for development and testing (no setup needed)
- PostgreSQL: for production (persistent data)
- Update DependencyContainer to support both
- Add documentation for switching databases
- Update .env.example with new config

Phase 4 Task 36/68 completed
2026-06-17 08:25:20 +08:00
Xiaoxia AI 37836b2755 feat(app): add FastAPI main application and configuration
- Create main.py with CORS and GZip middleware
- Add Settings class with all configuration options
- Support .env file for environment variables
- Add health check and root endpoints
- Create comprehensive README with quick start guide
- Add .env.example template
- Include API usage examples and troubleshooting

Phase 4 Task 30/68 completed
2026-06-17 07:42:22 +08:00