feat(tui): add gum dashboard and read-only workflow

This commit is contained in:
2026-10-14 21:56:18 +03:00
parent 72c0d21977
commit 8b40b8cd65
5 changed files with 362 additions and 15 deletions
+12
View File
@@ -84,6 +84,18 @@ for an operational read/export/QR failure. `config NAME --show` is the only
inspection form that writes the complete client configuration to stdout;
ordinary `show`, `config`, and `qr` output remains secret-safe.
## M9 TUI
Запуск без аргументов или командой `tui` открывает read-only интерфейс `gum` в
терминале. `gum` разрешается в порядке `WG_MANAGER_GUM`, локального `bin/gum`,
затем `PATH`; необходимые подкоманды проверяются до вывода интерфейса. Нужны
одновременно интерактивные stdin и stdout. Escape и отмена возвращают на
предыдущий экран или завершают меню без изменений. Доступны status, clients/show,
diagnose, log и backups; add/remove в M9 являются placeholder-действиями и не
выполняют мутаций. CLI работает независимо от `gum`; отсутствие или неполная
возможность `gum` даёт код `69` только для TUI, а неинтерактивный запуск TUI —
код `64`.
## M6 удаление клиента
`remove NAME [--yes]` удаляет только подтверждённый managed-peer после повторной проверки точного публичного ключа, адресов и блока под lock. В интерактивном терминале без `--yes` показываются имя, адреса и только последние 8 символов публичного ключа; ответ, отличный от `y`, отменяет операцию без изменений. В неинтерактивном режиме `--yes` обязателен.