Files

110 lines
5.3 KiB
Markdown
Raw Permalink 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.
**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. Она поддерживает светлую и тёмную темы, мажоры каталога
**69** (уровни 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-токеном. Не выставляйте порт
симулятора в недоверенные сети.