Proxmox VE
Статус: доступен · пакет wg-flow-plugin-proxmox · провайдер proxmox · категория virtualization.
Плагин опрашивает Proxmox VE API (GET /api2/json/cluster/resources) и отдаёт в инвентарь ноды, виртуальные машины, контейнеры и хранилища. Учётные данные PVE остаются в YAML агента.
Форма в локальном UI строится из schema плагина:


Установка
Агент должен быть подключён к API.
docker compose exec agent wg-flow-agent plugin install proxmox
# или
wg-flow-agent plugin install proxmoxПосле install откройте локальный UI → Plugins → proxmox или допишите YAML вручную.
Что попадает в инвентарь
| Объект PVE | resource_type | provider_resource_id |
|---|---|---|
| Node | server | node/{имя} |
| QEMU VM | instance | qemu/{vmid} |
| LXC | instance | lxc/{vmid} |
| Storage | storage | storage/{id} |
Статусы: running / online / available → active; stopped / offline / paused → stopped; иначе unknown. Сырой статус PVE дублируется в metadata.status.
У запущенных qemu/lxc плагин пытается взять сеть:
- qemu — QEMU Guest Agent (
agent/network-get-interfaces), иначе IP изconfig(netN/ip=); - lxc —
/interfaces, иначе config.
В metadata: primary_ipv4, hostname = имя VM. Идентификатор ресурса не меняется на host:{ip} — остаётся qemu/{vmid} / lxc/{vmid}. Один и тот же хост, увиденный ещё и Prometheus, в инвентаре — два ресурса; их можно слить вручную в кабинете.
YAML
plugins:
proxmox:
enabled: true
sources:
- id: dc1
provider_account: "proxmox-dc1"
sync_interval_seconds: 300
url: "https://pve.example.com:8006"
auth_type: token
api_token: "user@pam!wgflow=xxxxxxxx"
verify_tls: falseНесколько кластеров — несколько sources с разными id и provider_account.
Поля source
| Поле | Обязательно | Описание |
|---|---|---|
id | да | Короткий ключ в логах (proxmox/dc1) |
provider_account | да | Так площадка называется в инвентаре |
sync_interval_seconds | нет | Минимум 300 |
url | да | База API, обычно https://host:8006 |
auth_type | да | token или password |
api_token | при token | См. формат ниже |
username / password | при password | user@realm и пароль (ticket auth) |
verify_tls | нет | false, если сертификат самоподписанный |
Формат API-токена
В Datacenter → Permissions → API Tokens создайте токен. В YAML — только user@pam!tokenid=secret, без префикса PVEAPIToken=.
Права: чтение кластера и, если нужны IP, guest agent. Для пилота достаточно роли с просмотром ресурсов.
Пароль (auth_type: password) — запасной путь; токен предпочтительнее.
Проверка
wg-flow-agent status
wg-flow-agent dry-runВ dry-run JSON должны появиться provider: proxmox. Затем Sync now в UI или дождитесь интервала. В кабинете: Инвентарь с фильтром провайдера Proxmox.
Частые ошибки
| Симптом | Что проверить |
|---|---|
| TLS / certificate verify failed | verify_tls: false или свой CA |
| 401 / CSRF | токен без PVEAPIToken=; user@pam!id=secret |
| Пустой collect | URL без /api2/json; нода недоступна агенту |
| VM без IP | Guest Agent не установлен / не running |