**Language / Язык:** [English](../web-ui.md) | [Русский](web-ui.md) # Web UI Откройте [https://localhost/](https://localhost/) после `make up` (gateway) или HTTPS URL, который печатает `make up-local`. Внутренний порт симулятора — `8080`; лабораторный UI также доступен на этом хосте. UI — это лабораторная консоль для симулятора **vSphere**, а не замена vSphere Client. Она поддерживает светлую и тёмную темы, мажоры каталога **6–9** (уровни vSphere 7–8.0U2), редактирование запроса/ответа, историю и применение runtime-контракта. ## Скриншоты ### Главная консоль ![Главная консоль Web UI](../images/web-ui-main.png) ### Каталог API (мажоры 6–9) ![Каталог API с выбранным vSphere 8.0 U2](../images/web-ui-api-catalog.png) ### Браузер endpoint'ов ![Дерево endpoint'ов и пример ответа GET](../images/web-ui-endpoints.png) ### Запрос / ответ ![GET /api/vcenter/vm с фильтрами и ответом 200](../images/web-ui-request.png) ![Редактор параметров запроса](../images/web-ui-request-params.png) ### История ![Панель истории запросов](../images/web-ui-history.png) ### Аутентификация ![Вход в сессию (лабораторные учётные данные)](../images/web-ui-authentication.png) ### Данные / seed ![Demo cluster и управление seed](../images/web-ui-data.png) ### Окружение ![Сводка инвентаря окружения](../images/web-ui-environment.png) ### Справка — совместимость ![Диагностика совместимости (1092 / 1092)](../images/web-ui-help-compatibility.png) ## Возможности - Дерево endpoint'ов и селектор метода, управляемые выбранным мажором каталога - Параметры и примеры payload, производные от контракта - Панель Query parameters (левая колонка) с live-превью query string для GET-фильтров - Редактор запроса, просмотрщик ответа и история - Вход в сессию через `POST /api/session` (Basic) → заголовок/cookie `vmware-api-session-id` - Сводка окружения (версия runtime, хосты, ВМ, кластеры, datastore, сети) - Предпросмотр запросов в виде curl - Индикатор покрытия для реализованного реестра REST - Hot-swap **Apply as runtime** для активного уровня мажора - Загрузка demo / seed (профили `small` / `large` / `big` в DATA) - Компактная консоль на `/console.html` - Ссылка на OpenAPI по адресу `/docs` ## Аутентификация (лаборатория) | Пользователь | Пароль | Роль | |---|---|---| | `administrator@vsphere.local` | `VMware1!` | Administrator | | `readonly@vsphere.local` | `VMware1!` | ReadOnly | | `operator@vsphere.local` | `VMware1!` | VirtualMachinePowerUser | | `vmadmin@vsphere.local` | `VMware1!` | VirtualMachineAdministrator | После входа кнопка Send автоматически прикладывает `vmware-api-session-id`. ## Вспомогательные методы backend | Метод | Path | Назначение | |---|---|---| | GET | `/ui/api/versions` | Мажоры каталога в сравнении с runtime | | GET | `/ui/api/catalog?major=N` | Каталог для мажора 6–9 | | GET | `/ui/api/method?...` | Метаданные одного метода | | GET | `/ui/api/compatibility?major=N` | Payload покрытия | | POST | `/ui/api/contract/apply?major=N` | Hot-swap runtime-контракта | | GET | `/ui/api/demo/state` | Состояние демо-набора данных | | POST | `/ui/api/demo/load` | Загрузить `big` (20 hosts / 2000 VMs) | | POST | `/ui/api/vsphere/seed?profile=…` | Reseed `small` / `large` / `big` | ## Workflow работы с версиями 1. Выберите мажор **6 / 7 / 8 / 9** в каталоге. 2. Изучите методы и покрытие. 3. Используйте **Apply as runtime**, когда нужно, чтобы живые маршруты были ограничены уровнем этого мажора. 4. Подтвердите через `/api/appliance/system/version` и `/ui/api/compatibility`. Hot-swap хранится только в памяти; перезапуск восстанавливает настройки по умолчанию. Подробности: [Версии API](api-versions.md). ## Замечание о безопасности Эндпоинты UI и demo предназначены для локальной разработки. В текущей сборке они не защищены отдельным admin-токеном. Не выставляйте порт симулятора в недоверенные сети.