Skip to content

Плагины

В образе агента нет провайдеров. Каталог — тот же, что во вкладке Marketplace локального UI и в кабинете WaveGrid: агент скачивает wheel по tenant token, затем в YAML появляется секция.

Сейчас ставятся Proxmox и Prometheus. Остальные карточки — «скоро».

Доступны

ПлагинКатегорияЧто собирает
Proxmox VEВиртуализацияНоды, VM, LXC, хранилища
PrometheusМониторингScrape-targets как серверы, БД, балансировщики, домены

Скоро

Wheel ещё не опубликован. В Marketplace кнопка Install неактивна; страница описывает, что появится.

ПлагинКатегорияПлан сбора
Hetzner CloudОблакоСерверы, volumes, LB, floating IP
CloudflareDNSЗоны и записи
Amazon Web ServicesОблакоCompute, БД, балансировщики, хранилища
DigitalOceanОблакоDroplets, volumes, LB
Google CloudОблакоCompute, SQL, балансировщики
Microsoft AzureОблакоVM, диски, LB
KubernetesОркестрацияНоды и нагрузки кластера

Установка

После того как агент подключён и видит API:

bash
# Docker
docker compose exec agent wg-flow-agent plugin marketplace list
docker compose exec agent wg-flow-agent plugin install proxmox
docker compose exec agent wg-flow-agent plugin install prometheus
docker compose exec agent wg-flow-agent plugin list

# pip / хост
wg-flow-agent plugin marketplace list
wg-flow-agent plugin install proxmox

То же из локального UI: вкладка MarketplaceInstall.

Wheel кладётся в ~/.wg-flow-agent/plugins (в контейнере — /var/lib/wg-flow-agent/plugins, том agent_data).

Обновить: wg-flow-agent plugin update proxmox. Снять: plugin uninstall.

Включить в YAML

После install добавьте секцию plugins.<name>. Поля конкретного провайдера — на его странице. Минимальный каркас:

yaml
plugins:
  proxmox:
    enabled: true
    sources:
      - id: dc1
        provider_account: "proxmox-dc1"
        sync_interval_seconds: 300
        # дальше — поля API, см. страницу плагина

Несколько sources — несколько аккаунтов одного провайдера. Ресурсы в инвентаре различаются по provider_account.

Форму без правки YAML даёт локальный UI после install (схема с маркетплейса).

Расписание

У каждого source свой sync_interval_seconds (минимум 300). Если несколько source «созрели» в один тик — агент склеивает их в один POST /sync/. Если никто не due, раз в интервал планировщика уходит пустой heartbeat, чтобы агент не стал offline.