docs: diagram for panel<->node connectivity (local vs SSH-managed)
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
parent
dde311aab1
commit
c80f860a82
1 changed files with 27 additions and 0 deletions
27
README.md
27
README.md
|
|
@ -36,6 +36,33 @@ flowchart LR
|
||||||
|
|
||||||
Панель и первая VPN-нода живут на одном сервере. Дополнительные ноды подключаются по SSH (management-ключ, генерится сам при первом добавлении ноды) — панель не устанавливает на себя ничего от ноды, только управляет клиентами через SSH-команды и Xray Stats API.
|
Панель и первая VPN-нода живут на одном сервере. Дополнительные ноды подключаются по SSH (management-ключ, генерится сам при первом добавлении ноды) — панель не устанавливает на себя ничего от ноды, только управляет клиентами через SSH-команды и Xray Stats API.
|
||||||
|
|
||||||
|
### Связь панели с нодой
|
||||||
|
|
||||||
|
Два разных пути в зависимости от типа ноды (`node.kind` в БД):
|
||||||
|
|
||||||
|
```mermaid
|
||||||
|
flowchart TB
|
||||||
|
api["api.py / bot.py"] --> disp{"node.kind?"}
|
||||||
|
|
||||||
|
disp -->|local| xm["xray_manager.py"]
|
||||||
|
xm -->|"правит /usr/local/etc/xray/config.json напрямую + xray api statsquery"| xrayLocal["Xray на этой же машине"]
|
||||||
|
|
||||||
|
disp -->|managed| np["nodeprov.py"]
|
||||||
|
np -->|"SSH, ключ /root/.ssh/mbs_nodes_ed25519"| xrayRemote["Xray на удалённой ноде"]
|
||||||
|
|
||||||
|
subgraph ssh ["По SSH (nodeprov.py)"]
|
||||||
|
direction TB
|
||||||
|
f1["remote_add_client / remote_remove_client — правят config.json на ноде"]
|
||||||
|
f2["remote_query_stats — xray api statsquery"]
|
||||||
|
f3["remote_reset_stats — statsquery -reset"]
|
||||||
|
f4["remote_node_status — /proc/loadavg, /proc/meminfo, systemctl"]
|
||||||
|
end
|
||||||
|
|
||||||
|
np -.-> ssh
|
||||||
|
```
|
||||||
|
|
||||||
|
Публичный (`.pub`) ключ отдаётся самим install-скриптом ноды при первом запуске (`curl .../mgmt-pubkey.txt >> authorized_keys`) — панель никогда не просит пароль от новой ноды, только добавляет туда свой ключ через сам же install-скрипт, который админ запускает руками на новом сервере.
|
||||||
|
|
||||||
### Поток оплаты (когда `PAYMENTS_ENABLED=true`)
|
### Поток оплаты (когда `PAYMENTS_ENABLED=true`)
|
||||||
|
|
||||||
```mermaid
|
```mermaid
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue