Skip to content

Production Operations

company edited this page Jul 31, 2026 · 1 revision

生产运维

生产形态由 PostgreSQL、Attacker API、持久化 Job Worker、可选 Prometheus 与 OpenTelemetry Collector 组成。

已提供的生产基础

  • PostgreSQL 业务数据库与 LangGraph checkpoint;
  • 基于数据库租约、FOR UPDATE SKIP LOCKED、心跳和过期恢复的 Run Job;
  • file: 与 Vault KV v2 vault: Secret 引用;
  • request ID、结构化日志、Prometheus 指标、可选 OTLP;
  • liveness 与依赖 readiness;
  • 非 root 容器与生产 Compose;
  • PostgreSQL 与装备归档的备份/空目标恢复脚本。

配置门禁

准备好生产环境变量后先运行:

uv run attacker config validate-production

门禁通过不代表目标环境已经完成负载、安全和灾备验证。

启动

docker compose -f docker-compose.production.yml up -d --build
docker compose -f docker-compose.production.yml ps

健康检查

  • /health/live:进程 liveness;
  • /health/ready:数据库、checkpoint 与依赖 readiness;
  • /metrics:低基数 Prometheus 指标,生产环境使用独立 metrics key。

Durable Job

Job 状态保存在 PostgreSQL。Worker 使用租约、心跳和过期恢复处理进程中断,API 进程不承担后台运行的事实所有权。

排空、升级与回滚时应:

  1. 停止接收新 Job;
  2. 排空或安全终止 Worker;
  3. 备份 PostgreSQL 与装备归档;
  4. 执行迁移并部署新版本;
  5. 验证 readiness、worker 与核心评测链路。

备份与恢复

bash scripts/backup.sh
bash scripts/restore.sh

恢复必须面向空目标并校验 checksum。不要把“备份文件存在”等同于恢复能力,需定期执行恢复演练。

运维文档

完整的 Secret、部署、升级、回滚、SLO、告警、事故响应、备份和恢复步骤见:

Attacker Production Runbook

Clone this wiki locally