Skip to content

REG.RU Cloud ​

Status: available · package wg-flow-plugin-regcloud 0.1.1 · provider regcloud · category cloud.

The plugin calls the CloudVPS API (https://api.cloudvps.reg.ru/v1) and sends cloud.reg.ru virtual machines into inventory. You need an API token from the Cloud panel (Settings → API token). The token stays in the agent YAML.

This is not REG.API2 and not the REG.RU plugin (cabinet login/password, domains, DNS, hosting). Here the auth is a separate Cloud Bearer token.

The plugin only sends GET requests: reglets, additional IPs, and private networks. It does not create or delete servers, reset passwords, or read billing.

SSH keys, distribution images, snapshots, and account balance are not collected in 0.1.0.

Install ​

The agent must be connected to the API.

bash
docker compose exec agent wg-flow-agent plugin install regcloud
# or
wg-flow-agent plugin install regcloud

Then the local UI → Connections → regcloud, or YAML.

What lands in inventory ​

CloudVPS objectresource_typeNotes
Reglet (VM)serverprovider_resource_id = server:{id}. active → active, off / suspended → stopped, new → pending. Archived (archive / archived_at) are skipped. If the list has no plan or disk_usage, the plugin reads the server card. Public IPv4 → metadata.primary_ipv4; API memory is MB → metadata.mem_gb; disk_usage → metadata.disk_usage_gb; plan size.name → plan_name
Additional IPnetworkip:{id}, metadata.product = additional_ip. Server link → metadata.server_id. Price when billing detalization has it
Private network (VPC)networknetwork:{resource_id}, metadata.product = private_network

The server’s primary IP is already on the server row; /ips is additional addresses only.

Price ​

The charged price comes from GET /balance_data: detalization.price_month → metadata.billing_amount, billing_currency=RUB, billing_period=monthly, hourly price → metadata.price_per_hour. Child services (backup) go to metadata.linked_services and are not added into the server amount.

Without detalization, the plan price on the server card is used: size.price_month / size.price (server info). Zero is omitted. A failed /balance_data does not fail the source.

You can turn collection slices off independently. A disabled slice is missing from the next successful sync, and inventory marks those rows inactive. An API error fails the whole source: a partial list is not sent.

Multiple Cloud accounts → multiple sources with different tokens. provider_account is your label.

YAML ​

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 fields ​

FieldRequiredDescription
idyesLog key (regcloud/cloud)
provider_accountyesAccount label in inventory
urlnoDefault https://api.cloudvps.reg.ru/v1
tokenyesCloud API token; masked in the UI
collect_servers / collect_additional_ips / collect_networksnoDefault true
sync_interval_secondsnoMinimum 300

Check ​

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

JSON uses provider: regcloud. Health calls GET /reglets. The token is not written to inventory.

Common errors ​

SymptomWhat to check
401 / 403Token from the cloud.reg.ru panel, not the REG.API2 password
Empty server listcollect_servers is on; Cloud has non-archived VMs
Duplicates with the REG.RU plugindifferent provider (regru vs regcloud) — expected; merge in the console