rConfig Vector
Back officeThe NCM control plane: schedules, diffs, compliance, RBAC, and the API surface every other layer talks to.
The rConfig Vector Agent is a single Go binary that runs as a systemd or Windows service at each site. It polls your network devices over SSH, SNMP, and HTTP, then ships the configs back to rConfig over outbound only TLS.
No firewall pinholes. No VPN.
A first-class component of rConfig, the open-source, enterprise-grade network configuration management platform.
A network configuration collector agent is a small piece of software you run at each site to poll local network devices, capture their configurations, and ship the results back to a central NCM server. The rConfig Vector Agent does this over outbound TLS, so no inbound firewall rules are needed.
Real networks are segmented, regional, and political. A device in Frankfurt cannot be polled from New York without a firewall exception, a jump host, or a long running VPN. A device in a tenant VRF cannot be reached from the management VRF at all. A device in an OT segment is supposed to be unreachable from IT by design.
Traditional network configuration management runs from one host. That host accumulates credentials, firewall rules, and blast radius. It also becomes the bottleneck: every SSH poll, every SNMP walk, every diff ingest queues behind a single collector.
rconfigvector, the rConfig Vector Agent, is a single Go binary you deploy next to the devices. It fetches jobs from rConfig over an outbound only API, talks to devices on the local segment, and ships results back through the same secure channel. No inbound firewall rules. No credentials leaving the site. No central bottleneck.
Six engineering decisions that turn a tiny Go binary into a restart safe, size bounded, outbound only collector for distributed network configuration management.
Workers scale up and down from the live settings snapshot. No restart, no deploy. Each agent scales up to 1,000 devices per instance, with a watchdog per worker so a hung SSH session never takes the fleet down with it.
Full interactive shell SSH with enable mode, pager handling, and legacy device quirks (Avaya Ctrl+Y, HP ProCurve press any key, Cisco ETM MACs). The same protocol surface your core collector supports.
Jobs and logs persist to local SQLite in WAL mode. Agent restarts, network blips, and server side outages do not drop work. Everything replays from disk when connectivity returns.
The agent dials out to rConfig over TLS with an API key and optional strict SSL verification. No inbound ports. No credentials shipped to the core server. Your infosec team will actually approve it.
Log batches are built by byte size, not just count. The client splits oversized batches, quarantines pathological records, and stores bounded previews of remote error bodies. No memory blow-ups on a bad HTML error page.
SIGTERM closes the quit channel, workers finish the job in hand, the main goroutine blocks on sync.WaitGroup, and only then do DB handles close. Restart the service and you lose nothing.
Every scenario here is a real team running the agent today. Enterprises, MSPs, and OT side network operators. Pick the one that sounds most like you.
Drop a Vector Agent at each site. Each agent polls its local devices and syncs back over outbound only TLS. Zero inbound firewall rules, zero site-to-site VPN required.
Read the docs: multi-site deployment modelsOne agent per tenant, keyed to one rConfig server. Configs stay isolated per customer, credentials never leave the customer site, and billing is straightforward because every job is tagged to its agent.
Read the docs: MSP and multi-tenant deploymentRun the agent inside the OT segment with a one way outbound rule to rConfig. SSH polls stay on the OT side; only signed, structured job results cross the boundary. No IT side credentials inside OT.
Read the docs: manual install on air-gapped hostsPoint heavy polling device groups at a dedicated Vector Agent. The core server only receives structured job results. No SSH wait time, no TCP state, no credential handling in the hot path.
Read the docs: Vector architecture and data flowShip the Windows build. Same binary semantics, same API contract, runs as a Windows service. Network engineers on Windows only estates get the same distributed collection story as their Linux peers.
Read the docs: agent installation by operating systemEvery job carries a ULID, timing data, and a structured log trail that syncs back to rConfig with bounded size limits. Compliance auditors get an evidence chain; engineers get a deterministic replay.
A split architecture: rConfig holds the intent, the agents hold the reach. The data path is outbound only TLS with durable local queues on the agent side.
Agents poll rConfig for work on a configurable ticker. The rConfig server never initiates a connection. Firewall rules stay one directional.
Connection parameters are delivered per job over TLS, used once, and never persisted on disk outside the SQLite queue. rConfig holds the source of truth.
Successful job output uploads to api/agentsync/jobs/push. Structured logs replay through api/agentsync/logs/ingest with size bounded batching and 413 aware retries.
Agents are stateless except for their local queue. Add a site, drop in a binary, bind an API key. No shared DB, no shared cache, no coordination surface.
The Vector Agent is boring on purpose. systemd starts it, it syncs, it runs, it does not surprise you at 3am. Measured on a reference site collector.
$ systemctl status rconfigvector
● rconfigvector.service - rConfig Vector Agent 1.1.0
Loaded: loaded (/etc/systemd/system/rconfigvector.service; enabled)
Active: active (running) since Wed 2026-04-24 10:12:04 UTC; 12d ago
Main PID: 42881 (rconfigvector)
Tasks: 18 (limit: 4915)
Memory: 62.4M
CPU: 2min 41.103s
CGroup: /system.slice/rconfigvector.service
└─42881 /var/www/html/rconfigvector
Apr 24 10:12:04 par-collector-01 rconfigvector[42881]: ✓ API status check
Apr 24 10:12:04 par-collector-01 rconfigvector[42881]: ✓ Agent settings syncer started
Apr 24 10:12:04 par-collector-01 rconfigvector[42881]: ✓ Log syncer started
Apr 24 10:12:05 par-collector-01 rconfigvector[42881]: worker_count=8 queue_depth=42$ sqlite3 /var/www/html/vectoragent/logs/logs.db \
"SELECT level, message, sent_at FROM logs ORDER BY id DESC LIMIT 5;"
INFO Worker 3 processing job ID 41207 2026-04-24T10:14:02Z
INFO Data sent to Vector Server for 41207 2026-04-24T10:14:02Z
INFO Worker 5 processing job ID 41208 2026-04-24T10:14:03Z
WARN 413 from logs/ingest, splitting batch (n=88) 2026-04-24T10:14:03Z
INFO Recovered batch: 2 sub-batches accepted, 0 quarantined 2026-04-24T10:14:04ZMeasured on a 4 vCPU / 4 GB Linux collector, Go 1.24 build, 8 workers, 25 jobs/min sustained. Local queue uses SQLite WAL.
Linux, idle worker pool
8 workers × 25 jobs/min
linux/amd64, stripped
Cisco IOS show run
after agent restart
default LOG_MAX_BATCH_BYTES
reused http.Transport
All of these approaches have shipped in production networks. The comparison is about which one to reach for when you need distributed, restart safe, outbound only config collection.
| Capability | Vector Agent | Direct SSH from core | RANCID / Oxidized | Vendor collector proxy | Custom cron scripts |
|---|---|---|---|---|---|
| Outbound only firewall profile | yes supported | no not supported | no not supported | partial partially supported | no not supported |
| Per-site credential isolation | yes supported | no not supported | no not supported | partial partially supported | no not supported |
| Durable local queue | yes supported | no not supported | no not supported | partial partially supported | no not supported |
| Dynamic worker scaling | yes supported | no not supported | no not supported | no not supported | no not supported |
| SSH · SNMP · Uptime · HTTP | yes supported | yes supported | SSH only | varies | varies |
| Interactive shell SSH quirks (Avaya, HP, Cisco) | yes supported | partial partially supported | partial partially supported | partial partially supported | no not supported |
| Windows supported | yes supported | no not supported | no not supported | partial partially supported | yes supported |
| Structured, size bounded log sync | yes supported | no not supported | no not supported | partial partially supported | no not supported |
| Commercial support available | yes supported | no not supported | no not supported | yes supported | no not supported |
If you run a flat single subnet lab, a central collector is probably fine. If your network is segmented, multi site, or multi tenant, a distributed agent is the only approach that scales without adding firewall rules forever.
Expand any step to see the exact commands.
The Vector Agent is the distributed arm of rConfig, the network configuration management platform trusted by enterprises, MSPs, and government networks. rConfig owns the workflows: scheduling, diffs, compliance, change alerts, RBAC, the API surface. The agent owns the reach.
The NCM control plane: schedules, diffs, compliance, RBAC, and the API surface every other layer talks to.
The distributed Go collector you're reading about right now. Pulls jobs from Vector, talks to local devices, ships results back over outbound TLS.
The white-label customer portal. Tag-scoped, MFA-mandatory, fully branded: what your end customers actually log in to.
Answers for network engineers, NCM platform teams, and MSPs deploying the Vector Agent across distributed sites.
The rConfig Vector Agent is a lightweight Go binary that runs as a systemd or Windows service at each site, tenant, or network segment you need to manage. It polls local network devices over SSH, SNMP, Uptime, and HTTP, stores work in a durable SQLite queue, and syncs configs and logs back to a central rConfig server over outbound-only TLS.
Because real networks are segmented. A single central collector either accumulates inbound firewall exceptions from every site until the security team revolts, or it gives up on coverage. The Vector Agent replaces that model. Every site gets its own collector, the agents dial out to rConfig, and no inbound firewall rules are required.
Linux and Windows, amd64 and arm64. It speaks SSH (including full interactive-shell support with enable mode, pager handling, and legacy-device quirks for Cisco, Avaya, and HP ProCurve), SNMP, Uptime, and HTTP. The same protocol surface rConfig's core collector supports.
The agent only makes outbound TLS connections to rConfig. It pulls jobs, pushes results, and streams logs, all on the same outbound channel. rConfig never initiates a connection to the agent. This matches the zero-trust posture most infosec teams already require for new agents.
Nothing is lost. Jobs and logs persist in local SQLite with WAL journaling. On restart, the agent replays unfinished work. If the rConfig API is unreachable, the agent keeps collecting and queues results locally. The log syncer drains the backlog when connectivity returns, with 413-aware batch splitting and bounded retry amplification.
Two axes. Vertically, each agent has a dynamic worker pool: you set worker_count on the rConfig side and the pool scales up or down without restart. Horizontally, you deploy more agents. Agents are stateless except for their local queue, so adding a site is a binary drop plus an API key, not a coordination exercise.
Yes. Put the agent inside the segment with a single outbound rule to the rConfig API. SSH credentials and device traffic stay local to the OT segment; only signed, structured job results cross the boundary. Many customers use this pattern for NIS2, NERC-CIP, and internal OT compliance.
The agent ships as part of the rConfig MSP and Enterprise license. The architecture, interfaces, and operational guardrails are fully documented. For licensing details, see pricing or speak to the team.
Device connection parameters (username, password, SSH key material, enable secrets) are delivered per-job from rConfig over TLS. The agent uses them during the job, persists only the minimum needed for queue durability, and keeps them local to the site. Credentials never leave the site perimeter.
rConfig V8 and later, with the Vector-Server Laravel package installed. Earlier rConfig versions used a different collection model. If you're on V7 or below, contact the team about upgrading before deploying agents.
Download the agent binary from the rConfig download page, run the installer script (it registers a systemd unit on Linux or a service on Windows), drop your API URL and agent key into the local .env, and start the service. Total install time is usually under a minute per site.
Every job and error emits a structured log event to local SQLite, which the log syncer streams to rConfig under size-bounded batching. You get the job ID, ULID, worker ID, device, protocol, elapsed time, and outcome for every fetch. Pathological records that trigger repeated 413s get quarantined locally rather than silently dropped.
The Vector Agent is a single Go binary that runs as a systemd or Windows service. Deploy it anywhere your devices live, and let rConfig handle the rest.