REG.RU Cloud
Статус: доступен · пакет wg-flow-plugin-regcloud 0.1.1 · провайдер regcloud · категория cloud.
Плагин ходит в CloudVPS API (https://api.cloudvps.reg.ru/v1) и отдаёт облачные серверы cloud.reg.ru в инвентарь. Нужен API-токен из панели Cloud (Настройки → API token). Токен остаётся в YAML агента.
Это не REG.API2 и не плагин REG.RU: там логин/пароль кабинета и домены/DNS/хостинг. Здесь — отдельный Bearer-токен облака.
Плагин шлёт только GET: список reglet’ов, дополнительных IP и приватных сетей. Создание/удаление серверов, сброс пароля и биллинг не вызываются.
SSH-ключи, образы дистрибутивов, снапшоты и баланс в 0.1.0 не эмитятся.
Установка
Агент должен быть подключён к API.
docker compose exec agent wg-flow-agent plugin install regcloud
# или
wg-flow-agent plugin install regcloudДальше — локальный UI → Connections → regcloud или YAML.
Что попадает в инвентарь
| Объект CloudVPS | resource_type | Заметки |
|---|---|---|
| Reglet (VM) | server | provider_resource_id = server:{id}. active → active, off / suspended → stopped, new → pending. Архивные (archive / archived_at) пропускаются. Если в списке нет тарифа или disk_usage, плагин читает карточку сервера. Публичный IPv4 → metadata.primary_ipv4; память API в МБ → metadata.mem_gb; disk_usage → metadata.disk_usage_gb; тариф size.name → plan_name |
| Дополнительный IP | network | ip:{id}, metadata.product = additional_ip. Привязка к серверу — metadata.server_id. Цена, если есть в детализации биллинга |
| Приватная сеть (VPC) | network | network:{resource_id}, metadata.product = private_network |
Основной IP сервера уже на карточке server; список /ips — только дополнительные адреса.
Цена
Фактическая цена берётся из GET /balance_data: detalization.price_month → metadata.billing_amount, billing_currency=RUB, billing_period=monthly, почасовая price → metadata.price_per_hour. Дочерние услуги (бэкап) — metadata.linked_services, в сумму сервера не входят.
Если детализации нет, цена тарифа с карточки: size.price_month / size.price (описание сервера). Ноль не пишется. Сбой /balance_data не роняет source.
Куски сбора можно выключить отдельно. Выключенный кусок не попадает в следующий успешный sync, и инвентарь помечает эти строки неактивными. Ошибка API роняет весь source: частичный список не отправляется.
Несколько облачных аккаунтов — несколько sources с разными токенами. provider_account — ваша метка.
YAML
plugins:
regcloud:
enabled: true
sources:
- id: cloud
provider_account: "regcloud-main"
sync_interval_seconds: 300
url: "https://api.cloudvps.reg.ru/v1"
token: "…"
collect_servers: true
collect_additional_ips: true
collect_networks: trueПоля source
| Поле | Обязательно | Описание |
|---|---|---|
id | да | Ключ в логах (regcloud/cloud) |
provider_account | да | Метка аккаунта в инвентаре |
url | нет | По умолчанию https://api.cloudvps.reg.ru/v1 |
token | да | API-токен Cloud; в UI скрыт |
collect_servers / collect_additional_ips / collect_networks | нет | true по умолчанию |
sync_interval_seconds | нет | Минимум 300 |
Проверка
wg-flow-agent status
wg-flow-agent dry-runВ JSON — provider: regcloud. Health вызывает GET /reglets. Токен в инвентарь не пишется.
Частые ошибки
| Симптом | Что проверить |
|---|---|
| 401 / 403 | Токен из панели cloud.reg.ru, не пароль REG.API2 |
| Пустой список серверов | collect_servers включён; в Cloud есть неархивные VM |
| Дубли с плагином REG.RU | разные provider (regru vs regcloud) — нормально; слияние в кабинете |