uuzzair/Production-Incident-Management
GitHub: uuzzair/Production-Incident-Management
基于 FastAPI 和 Vue 3 构建的生产事件管理平台,帮助团队结构化追踪故障事件、规范处置流程并保留完整的事故历史记录。
Stars: 0 | Forks: 0
# FastAPI 事件
分为独立生产环境文件夹的事件报告应用:
- `backend/`:采用 FastAPI API,包含异步 SQLAlchemy、Alembic 迁移、存储库、服务以及结构化 JSON 日志记录。
- `frontend/`:Vue 3 + Vite 事件报告控制台。
## 后端
从项目根目录运行:
```
.\venv\Scripts\python.exe -m uvicorn app.main:app --app-dir backend --reload --port 8001
```
或者在 `backend/` 目录内运行:
```
cd C:\OfficeWork\Python-Scripts\fastapi_incidents\backend
..\venv\Scripts\python.exe -m pip install -r requirements.txt
..\venv\Scripts\python.exe -m alembic upgrade head
..\venv\Scripts\python.exe -m uvicorn app.main:app --reload --port 8001
```
本地服务自动化仍可使用 API 密钥。默认的本地密钥为 `local-dev-token`;请将其作为 `Authorization: Bearer local-dev-token` 或 `X-API-Key: local-dev-token` 发送。
## 前端
```
cd C:\OfficeWork\Python-Scripts\fastapi_incidents\frontend
npm install
npm run dev
```
前端会从 `frontend/.env.local` 中读取 `VITE_API_URL`。对于本地开发,请使用:
```
VITE_API_URL=http://127.0.0.1:8000/api/v1
```
前端不会读取或嵌入 API token。浏览器登录会重定向到后端的 `/api/v1/auth/login` 端点,并在 OIDC 登录完成后使用后端的 session cookie。
## Docker
```
docker compose up --build
```
此本地 compose 文件会启动 PostgreSQL,运行后端迁移,在 `http://127.0.0.1:8001` 上提供 API 服务,并在 `http://127.0.0.1:8080` 上提供前端服务。
容器化的前端在构建时未嵌入任何浏览器端的 API token。写入操作在 OIDC 登录后使用后端的 session cookie,并包含与会话绑定的 CSRF token。
对于预发布/生产环境,请通过部署环境变量或 secret manager 提供 OIDC、数据库、CORS、API 密钥和 `SESSION_SECRET_KEY` 的值。请勿将真实的 secret 提交至本仓库。
所需的预发布/生产环境后端环境结构如下:
```
ENVIRONMENT=staging
DATABASE_URL=postgresql+asyncpg://:@:5432/
CORS_ALLOWED_ORIGINS=https://
CORS_ALLOW_CREDENTIALS=true
API_KEYS=:admin
OIDC_ISSUER_URL=https://
OIDC_CLIENT_ID=
OIDC_CLIENT_SECRET=
OIDC_REDIRECT_URI=https:///api/v1/auth/callback
AUTH_SUCCESS_REDIRECT_URL=https://
SESSION_SECRET_KEY=
SECURE_COOKIES=true
```
## 备注
先前根目录层级的 FastAPI 模块已停止使用。如果 Windows 锁定或权限保护了某些旧的本地产物(例如 SQLite 文件、日志、`configs/`、`routes/` 和 `__pycache__/`),它们可能仍会保留;生产环境的应用入口现在是 `backend/app/main.py`。
标签:Alembic, API Key, AV绕过, CMS安全, CSRF防护, Docker, ETW劫持, FastAPI, JavaScript, NIDS, OIDC, osquery, PostgreSQL, Python, Session Cookie, Vite, Vue 3, 事件管理, 事故跟踪, 前后端分离, 单点登录, 响应工作流, 安全防御评估, 容器化, 工单系统, 异步SQLAlchemy, 无后门, 日志记录, 测试用例, 研发效能, 网络研究, 记录管理, 请求拦截, 运维安全, 运维管理, 逆向工具