Skip to content

REG.RU ​

Статус: доступен · пакет wg-flow-plugin-regru 0.1.0 · провайдер regru · категория cloud.

Плагин ходит в REG.API2 и отдаёт в инвентарь домены, DNS, виртуальный хостинг и VPS/выделенные серверы из кабинета REG.RU. Логин и пароль остаются в YAML агента.

В кабинете REG.RU нужно включить API и разрешить IP агента. Иначе health вернёт ACCESS_DENIED_FROM_IP.

Плагин шлёт только чтение: nop, service/get_list, zone/get_resource_records. service/get_details не вызывается: у хостинга в ответе пароль панели, у домена — контактные данные.

Облачные серверы cloud.reg.ru — отдельный плагин REG.RU Cloud (CloudVPS API). SSL, парковка, web-forwarding и лицензии в 0.1.0 не собираются.

Установка ​

Агент должен быть подключён к API.

bash
docker compose exec agent wg-flow-agent plugin install regru
# или
wg-flow-agent plugin install regru

Дальше — локальный UI → Connections → regru или YAML.

Что попадает в инвентарь ​

Объект REG.RUresource_typeЗаметки
Доменdomainprovider_resource_id = имя в нижнем регистре. A → active, N → pending, S / D / O → stopped
Hostname из A / AAAA / CNAMEdomainдочерние FQDN вроде docs.example.ru. Apex, * и _label как поддомен не дублируются
DNS-записьdnsСтабильный id из зоны, типа, имени и значения. У REG.RU нет id записи
Хостинг srv_hosting_*hostinghosting:{service_id}. Тариф — metadata.plan
VPS srv_vps* и выделенный srv_dedicated*serverserver:{service_id}

Зона, которой REG.RU не управляет, пропускается. Остальные домены этого source собираются. Ошибка всего get_list или всего запроса зон роняет source: частичный снимок не уходит, reconcile не гасит аккаунт.

В кабинете домены группируются по apex, как у SpaceWeb.

Куски сбора можно выключить отдельно. Выключенный кусок не попадает в следующий успешный sync, и инвентарь помечает эти строки неактивными.

Срок ​

expiration_date пишется в metadata.expires_at (YYYY-MM-DD). 0000-00-00 не пишется. Цены продления в get_list нет, поэтому billing_amount плагин не ставит. Сами алерты и тарифы он не создаёт.

YAML ​

yaml
plugins:
  regru:
    enabled: true
    sources:
      - id: account
        provider_account: "regru-main"
        sync_interval_seconds: 300
        url: "https://api.reg.ru/api/regru2"
        username: "account@example.com"
        password: "…"
        collect_domains: true
        collect_dns: true
        collect_hosting: true
        collect_servers: true

Несколько кабинетов — несколько sources.

Поля source ​

ПолеОбязательноОписание
idдаКлюч в логах (regru/account)
provider_accountдаМетка аккаунта в инвентаре
urlнетПо умолчанию https://api.reg.ru/api/regru2
username / passwordдаЛогин кабинета и пароль API; password маскируется в UI
collect_domains / collect_dns / collect_hosting / collect_serversнетtrue по умолчанию
sync_interval_secondsнетМинимум 300

Проверка ​

bash
wg-flow-agent status
wg-flow-agent dry-run

В JSON — provider: regru. Health дергает nop (логин не пишется в инвентарь).

Частые ошибки ​

СимптомЧто проверить
PASSWORD_AUTH_FAILEDлогин и пароль API, не пароль от почты, если в кабинете задан отдельный
ACCESS_DENIED_FROM_IPIP агента в белом списке API
Пустой DNS у доменазона обслуживается не в REG.RU — это нормально, домен всё равно попадает в инвентарь
Дубли с Cloudflare / SpaceWebразные provider — нормально; слияние в кабинете