fix: P0问题修复 - JWT配置、安全扫描、备份、Runbook

P0 问题修复(按照 gap analysis):

1. JWT密钥配置修复
   - config.yaml 移除占位符,改为空字符串
   - 添加测试验证 JWT_SECRET 环境变量覆盖功能

2. Docker 部署完善
   - 添加 deploy.resources 限制(内存 512M,CPU 0.5)
   - 添加 healthcheck 健康检查
   - 添加 restart: unless-stopped 重启策略

3. 安全扫描集成
   - 创建 scripts/security/run-gosec.sh 安全扫描脚本
   - 创建 scripts/security/workflow-template.yml CI工作流模板
   - 运行 gosec 扫描发现 6 个 HIGH 级别整数溢出问题

4. 备份自动化
   - 创建 scripts/backup/backup.sh 自动备份脚本
   - 支持 SQLite 数据库和配置文件备份
   - 支持备份验证、自动清理、恢复功能

5. Runbook 文档
   - 创建 docs/runbooks/ 目录
   - 添加 4 个核心 Runbook:服务启动、服务停止、备份恢复、日志分析
   - 添加 README.md 索引文档
This commit is contained in:
2026-04-08 22:31:43 +08:00
parent 1b96715b55
commit 3b0bcf0ff7
11 changed files with 1191 additions and 1 deletions

60
docs/runbooks/README.md Normal file
View File

@@ -0,0 +1,60 @@
# Runbooks 目录
本文档包含用户管理系统的运维 Runbook标准操作手册
## 目录结构
| Runbook | 用途 | 优先级 |
|---------|------|--------|
| [01-service-startup.md](01-service-startup.md) | 服务启动 | 🔴 必须 |
| [02-service-shutdown.md](02-service-shutdown.md) | 服务停止 | 🔴 必须 |
| [03-backup-restore.md](03-backup-restore.md) | 备份恢复 | 🔴 必须 |
| [04-log-analysis.md](04-log-analysis.md) | 日志分析 | 🔴 必须 |
| [05-config-update.md](05-config-update.md) | 配置更新 | 🟠 重要 |
| [06-security-incident.md](06-security-incident.md) | 安全事件响应 | 🔴 必须 |
| [07-incident-response.md](07-incident-response.md) | 事件响应 | 🟠 重要 |
## 使用说明
### 阅读顺序建议
1. **新部署**:先阅读 [01-service-startup.md](01-service-startup.md)
2. **日常维护**:阅读 [02-service-shutdown.md](02-service-shutdown.md)
3. **故障处理**:阅读 [04-log-analysis.md](04-log-analysis.md)
4. **数据恢复**:阅读 [03-backup-restore.md](03-backup-restore.md)
### 快速参考
| 操作 | 命令 |
|------|------|
| 启动服务 | `docker compose up -d` |
| 停止服务 | `docker compose stop` |
| 查看日志 | `docker compose logs -f` |
| 执行备份 | `./scripts/backup/backup.sh` |
| 恢复数据 | `./scripts/backup/backup.sh --restore` |
## 紧急联系人
| 角色 | 姓名 | 电话 | 邮箱 |
|------|------|------|------|
| 运维负责人 | [填写] | [填写] | [填写] |
| 技术支持 | [填写] | [填写] | [填写] |
| 开发团队 | [填写] | [填写] | [填写] |
## 培训要求
所有运维人员应熟悉:
1. 服务启动和停止流程
2. 备份和恢复操作
3. 日志分析方法
4. 常见故障排查
## 文档更新
- 每次重大变更后更新相关 Runbook
- 每年至少审查一次所有 Runbook
- 发现问题立即更新
---
*最后更新2026-04-08*