feat(core): 初始化 Key-IP Sentinel 服务与部署骨架

- 搭建 FastAPI、Redis、PostgreSQL、Nginx 与 Docker Compose 基础结构
- 实现反向代理、首用绑定、拦截告警、归档任务和管理接口
- 提供 Vue3 管理后台初版,以及 uv/requirements 双依赖配置
This commit is contained in:
2026-03-04 00:18:33 +08:00
commit ab1bd90c65
50 changed files with 5645 additions and 0 deletions

23
app/schemas/log.py Normal file
View File

@@ -0,0 +1,23 @@
from __future__ import annotations
from datetime import datetime
from pydantic import BaseModel, ConfigDict
class InterceptLogItem(BaseModel):
model_config = ConfigDict(from_attributes=True)
id: int
token_display: str
bound_ip: str
attempt_ip: str
alerted: bool
intercepted_at: datetime
class LogListResponse(BaseModel):
items: list[InterceptLogItem]
total: int
page: int
page_size: int