fix(deploy): production CRM deployment improvements

- Fix deploy_crm_only.sh: non-destructive hot reload
  - Enhanced stop logic with pgrep + fuser for port release
  - Added 3-layer verification (process/control/user)
  - Check /proc/$pid/exe for (deleted) marker
  - Never delete DB

- Fix portal script contracts: crm_session → crm_subject
  - deploy_tksea_portal.sh: use $cookie_crm_subject
  - test_tksea_portal_assets.sh: assert crm_subject exists
  - nginx.example.conf: updated trusted subject header

- Add systemd service management
  - sub2api-crm.service.template
  - install_crm_systemd.sh
  - verify_crm_deployment.sh

Update docs/plans/2026-06-04-next-version-plan.md with deployment findings.
This commit is contained in:
phamnazage-jpg
2026-06-10 15:44:45 +08:00
parent 85954e516a
commit 47ced19c7b
10 changed files with 915 additions and 60 deletions

View File

@@ -9,18 +9,19 @@
2. 生产宿主 DeepSeek 组可用: 官方 key 已导入
3. 生产宿主 MiniMax 组可用: 官方 key 已导入
4. OpenClaw 默认: primary=tksea-minimax/MiniMax-M3, fallbacks=[tksea-deepseek/deepseek-chat, deepseek-official/deepseek-chat]
5. asxs 结论成谜区分: 本机可用 / 生产宿主出口不可用
5. asxs 上游服务正常: api.asxs.top/v1 返回 200
6. a7m 上游服务正常: kimi.a7m.com.cn/v1 返回 401(需鉴权)
## 当前已知缺口
## 当前已知缺口 (2026-06-10 更新)
| 缺口 | 优先级 | 状态 | 阻塞原因 |
| ---------------------------- | ------ | -------- | ------------------------------------ |
| Kimi 组不可用 | P0 | blocked | a7m 上游 429 overloaded |
| GLM 智谱未导入 | P0 | blocked | 无 upstream key |
| asxs 生产宿主不可用 | P1 | known | remote43 出口被 Cloudflare 1010 拦截 |
| channel_pricing_intervals 空 | P2 | accepted | 不影响路由 |
| 幂等部署脚本 | P2 | planned | SQL 型步骤未封装 |
| OpenClaw CLI 版本漂移 | P3 | known | 2026.5.12 旧版, backup 已保留 |
| 缺口 | 优先级 | 状态 | 阻塞原因 |
| ---------------------------- | ------ | -------- | ----------------------------- |
| GLM 智谱未导入 | P0 | blocked | 无 upstream key |
| channel_pricing_intervals 空 | P2 | accepted | 不影响路由 |
| 幂等部署脚本 | P2 | planned | SQL 型步骤未封装 |
| OpenClaw CLI 版本漂移 | P3 | known | 2026.5.12 旧版, backup 已保留 |
**注**: a7m/asxs 上游服务验证正常(2026-06-10), 需配置有效 API key 后导入
## Phase 1 — 供应链收口