Skip to content

Локальный UI ​

Встроенный редактор YAML на порту 8765. Это не кабинет WaveGrid: он крутится рядом с агентом, без логина, и пишет в тот же файл, что и CLI.

Слева сайдбар: Overview, Configuration, Connections, Marketplace, Operations. На узком экране сайдбар складывается в drawer. Есть светлая и тёмная тема.

Если вышла новая версия агента, под шапкой появляется баннер Update available со ссылкой на Релизы и командой docker pull. Чип версии в шапке тоже меняет цвет. Обновление: docker compose pull && docker compose up -d.

Запуск ​

Docker — в environment сервиса agent в docker-compose.yml:

yaml
WGFLOW_UI_ENABLED: "true"

Затем docker compose up -d.

CLI:

bash
wg-flow-agent ui              # 127.0.0.1:8765
wg-flow-agent run --ui

Откройте http://127.0.0.1:8765. Не публикуйте порт наружу.

После Save планировщик подхватывает YAML сам (следит за mtime). Контейнер пересобирать не нужно.


Overview ​

Стартовый экран. Схема связи агент → платформа, KPI (подключения, плагины, интервал, обновления плагинов) и список источников.

Overview агента v0.2.0: сайдбар WaveGrid, схема Connected, KPI и источники prometheus, proxmox, SpaceWeb
Overview

Если агент отстаёт от последнего релиза, баннер обновления виден на всех страницах, не только здесь.


Configuration ​

Подключение к платформе, имя агента и интервал по умолчанию.

Configuration: сайдбар WaveGrid AGENT, Connected, API URL, Tenant ID, токен, имя агента, интервал 300 с
Configuration
БлокЗачем
Connectionapi_url, tenant_id, tenant_token. Баннер Connected / ошибка + Test now (пробный POST на /sync/ с пустым списком ресурсов).
Agent identityagent.name, agent.host. Agent ID (agent.id) выдаётся при первом запуске и не редактируется — по нему платформа узнаёт тот же экземпляр.
Schedulerscheduler.sync_interval_seconds, минимум 300. Это default и heartbeat, если ни один source не due. Интервал конкретной площадки — на карточке source.
Save configurationПишет YAML. Пустой tenant token не затирает сохранённый.

Токен в форме маскируется (wgf_…). Значение один раз берёте в кабинете: Подключение.


Connections ​

Список уже установленных интеграций (в сайдбаре — Connections). Клик по карточке — настройки плагина.

Connections: карточки prometheus, proxmox и SpaceWeb со статусом и Configure
Connections

На карточке: версия wheel, сколько source активны, ready / ошибка, ссылка Configure. Browse marketplace — если нужен ещё провайдер.

Настройки плагина ​

Форма строится из schema плагина (не хардкод в UI). Несколько подключений — вкладки source слева, Add connection.

Форма Proxmox: вкладки подключений pve17/pve16, identity, расписание, URL
Identity, расписание, URL
Форма Proxmox: токен или пароль, TLS, Save settings
Аутентификация и TLS

Типичные поля source:

  • Source ID — ключ в YAML (plugins.proxmox.sources[].id)
  • Provider account — так площадка называется в инвентаре
  • Sync interval — минимум 300 с
  • Поля API (URL, токен, TLS…) — свои у каждого плагина, см. каталог

Внизу липкая панель Cancel / Save settings.


Marketplace ​

Каталог с платформы (тот же tenant token, что для sync). Поиск по имени, провайдеру, категории.

Marketplace: поиск, категории и карточки AWS, Cloudflare, Hetzner, Prometheus, Proxmox, SpaceWeb
Marketplace
  • Wheel ещё не стоит — Install (скачивает пакет в том плагинов).
  • Уже стоит — Configure (то же, что карточка на Connections).
  • Coming soon — пакет ещё не опубликован, кнопка установки неактивна.

Подробности провайдера — в каталоге плагинов.


Operations ​

Разовые действия без правки YAML. Результат — в блоке Output.

Operations: Health check, Dry run, Sync now и пустой Output; сайдбар WaveGrid AGENT
Operations
ДействиеЧто делает
Check statusВалидация конфига + health включённых плагинов (wg-flow-agent status).
Run dry runCollect → JSON в Output, без POST в SaaS.
Sync nowCollect всех enabled source → POST /sync/. Интервалы не фильтруют one-shot.

Планировщик при этом продолжает работать в фоне.


Чего нельзя ​

  • Выставлять :8765 в интернет без своей авторизации
  • Считать UI кабинетом WaveGrid: инвентарь, затраты и алерты — только в SaaS