server-monitor-manager/docs/installer-contract.md
2026-07-15 13:27:27 +07:00

39 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Контракт Linux-установщика
Файл `ochenstarik-server-monitor-manager.sh` находится в `ochenstarik-ui/lightweight-server`; синхронная копия хранится в `deploy/` этого репозитория.
## Первый тестовый этап: SSH pull
До появления постоянного агента Windows-клиент получает метрики через OpenSSH. Установщик:
- поддерживает Ubuntu/Debian с systemd;
- запрашивает публичный ключ `ssh-ed25519`, созданный Windows-клиентом;
- проверяет синтаксис ключа через `ssh-keygen`;
- устанавливает и включает OpenSSH Server, не меняя текущий SSH-порт;
- создаёт отдельного системного пользователя `ochenstarik-monitor` без пароля;
- устанавливает root-owned metrics command;
- записывает ключ как `restrict,command="..."`;
- не создаёт UFW-правил и не открывает дополнительных портов;
- поддерживает `install`, `status` и `uninstall`;
- допускает безопасный повторный запуск для замены ключа мониторинга.
Forced-command отдаёт только строки `KEY=VALUE`:
```text
PROTOCOL=1
HOSTNAME=server-name
UPTIME_SECONDS=12345
LOAD1=0.42
CPU_COUNT=4
MEM_TOTAL_KB=...
MEM_AVAILABLE_KB=...
DISK_TOTAL_KB=...
DISK_AVAILABLE_KB=...
KERNEL=...
```
Ключ мониторинга не должен позволять shell, PTY, agent forwarding, TCP forwarding или выполнение переданной клиентом команды. Полноценный SSH-терминал использует отдельную пользовательскую identity и не входит в этот ключ.
## Будущий этап: постоянный агент
После проверки UX на нескольких серверах SSH pull будет дополнен статическим агентом для потоковых метрик, systemd events, короткого локального буфера и управляемых WireGuard Links. Агент будет регистрироваться одноразовым token и работать по исходящему mTLS-соединению без входящего API.