# 设计 — 新服务器接入自动化 ## 背景 非 root 子机推送需目标机 `nexus-files` sudoers;未设 `target_path` 时推送回退 `/www/wwwroot`。此前需人工「一键配置 sudo」+「检测目标路径」。 ## 目标 创建/导入/凭据轮询添加服务器成功后,**后台自动**: 1. 非 root:安装/补全 `nexus-files` sudoers(含 rsync) 2. `target_path` 仍为「未设路径」:SSH 探测 workerman.bat 并写入站点目录 ## 方案 新增批量操作 `onboard`,复用现有 `server_batch_service` 后台任务 + WebSocket 进度。 | 入口 | 触发 | |------|------| | POST `/servers/` | 单台 → job | | CSV import | 批量 created_ids → 一个 job | | 凭据轮询 / add-by-ip / pending retry | `_create_server_from_poll` 内触发 | root SSH:跳过 sudo 步骤;已有具体 `target_path`:跳过探测。 ## 非目标 - 不自动安装 Agent - 不因 onboarding 失败阻断创建 API(仅记录 batch job 失败项) ## 验收 - 新建 ubuntu 服务器 → 返回 `onboarding_job_id`,任务含 sudo + detect - pytest 覆盖 onboard 编排逻辑