Files
Nexus/docs/audit/2026-06-21-btpanel-ssh-bootstrap.md
2026-07-08 22:31:31 +08:00

3.1 KiB

审计 — 2026-06-21 宝塔 SSH 自动获取 API 部署

Changelog: docs/changelog/2026-06-20-btpanel-ssh-api-bootstrap.md
Commit: 82426b19 feat(btpanel): 独立宝塔模块与 SSH 自动获取 API

Step 3 规则扫描

文件 规则 结论
ssh_bootstrap.py 无静默吞错、远程 JSON 校验 PASS
bootstrap_state.py 仅已入库服务器进 loop PASS
btpanel_service.py CUD 审计 bt_panel_ssh_bootstrap PASS
BtPanelSettingsPage.vue 批量操作二次确认 PASS
bootstrap_lock.py 同机并发 SSH 互斥 PASS

Closure

状态 说明
后台 loop 误扫全库 FIXED is_eligible 需显式 bt_panel
result.success SSH FIXED 改用 status == success
Permission denied 误判 FIXED 区分 SSH 认证与 api.json 写权限
空凭据标 ready FIXED bootstrap_empty_credentials
get_config 每次 SSH FIXED pending/installing 或 refresh 才探测

文件清单

  • frontend/src/App.vue
  • frontend/src/api/btpanel.ts
  • frontend/src/components/btpanel/BtPanelPageShell.vue
  • frontend/src/components/btpanel/BtPanelServerPicker.vue
  • frontend/src/composables/btpanel/btPanelContext.ts
  • frontend/src/composables/btpanel/useBtPanelPageLoad.ts
  • frontend/src/composables/btpanel/useBtPanelServer.ts
  • frontend/src/constants/cachedPages.ts
  • frontend/src/pages/btpanel/BtPanelCrontabPage.vue
  • frontend/src/pages/btpanel/BtPanelDatabasesPage.vue
  • frontend/src/pages/btpanel/BtPanelDomainsPage.vue
  • frontend/src/pages/btpanel/BtPanelLoginPage.vue
  • frontend/src/pages/btpanel/BtPanelMonitorPage.vue
  • frontend/src/pages/btpanel/BtPanelServicesPage.vue
  • frontend/src/pages/btpanel/BtPanelSettingsPage.vue
  • frontend/src/pages/btpanel/BtPanelSiteCreatePage.vue
  • frontend/src/pages/btpanel/BtPanelSitesPage.vue
  • frontend/src/pages/btpanel/BtPanelSslPage.vue
  • frontend/src/router/index.ts
  • server/api/btpanel.py
  • server/api/btpanel_schemas.py
  • server/api/servers.py
  • server/application/services/btpanel_bootstrap_schedule.py
  • server/application/services/btpanel_service.py
  • server/application/services/server_batch_service.py
  • server/background/bt_panel_bootstrap_loop.py
  • server/config.py
  • server/infrastructure/btpanel/__init__.py
  • server/infrastructure/btpanel/bootstrap_lock.py
  • server/infrastructure/btpanel/bootstrap_state.py
  • server/infrastructure/btpanel/client.py
  • server/infrastructure/btpanel/credentials.py
  • server/infrastructure/btpanel/source_ip.py
  • server/infrastructure/btpanel/ssh_bootstrap.py
  • server/infrastructure/btpanel/ssh_login.py
  • server/infrastructure/ssh/remote_shell.py
  • server/main.py
  • tests/test_btpanel_bootstrap_loop.py
  • tests/test_btpanel_client.py
  • tests/test_btpanel_get_config.py
  • tests/test_btpanel_ssh_bootstrap.py
  • tests/test_btpanel_ssh_login.py

DoD

  • Step 3 规则扫描
  • Closure 表
  • 文件清单与 git diff HEAD~1..HEAD 对齐
  • local_verify 通过
  • tests/test_btpanel_*.py 25 passed
  • 需重启 API 注册 bt_panel_bootstrap_loop