Skip to content

rConfig V8 CLI Commands Reference - Complete Network Automation Guide

rConfig V8 CLI Commands Reference - Complete Network Automation Guide

Section titled “rConfig V8 CLI Commands Reference - Complete Network Automation Guide”

rConfig V8 includes a comprehensive set of command-line interface (CLI) commands for managing your network configuration platform. In V8, a number of commands have been added, some have been changed, and others removed to streamline operations and align with modern workflows.

CLI commands are essential for several key use cases:

  • Automation & Orchestration: Integrate rConfig operations into Infrastructure as Code platforms like Ansible, Terraform, or Chef
  • Custom Scripting: Build your own automation workflows and scheduled tasks that interact with rConfig
  • System Administration: Perform maintenance tasks, clear caches, and troubleshoot issues directly from the command line
  • CI/CD Pipelines: Incorporate network configuration management into your DevOps workflows
  • Remote Management: Execute operations on rConfig without requiring access to the web interface
  • Performance: Bypass UI overhead for bulk operations and scheduled tasks

All rConfig CLI commands must be run from the rConfig installation directory and require root privileges.

  1. SSH access to your rConfig server
  2. Root user privileges (or use sudo)
  3. Navigate to the rConfig installation directory:
Terminal window
cd /var/www/html/rconfig8/current

To view all available rConfig-specific commands:

Terminal window
php artisan rconfig:list

This command brings up a search box where you can type the partial name of the command you are looking for. Or hit enter to see the full list of commands.

Tip: Use the documentation search feature to quickly find detailed information about any command by searching for its name (e.g., “rconfig:download-device”).

Terminal window
rconfig:api-docs:build Generate AI-agent-friendly Markdown docs for the REST API under storage/app/api-docs. Uses Scribe as the upstream extractor.
rconfig:append-compliance-report-data Append report result summary data to a saved compliance report
rconfig:archive-logs Deprecated in 8.1 - Replaced with the Data Purge Tool in System Settings
rconfig:backup-env Backup the .env file to the storage backups directory
rconfig:cleanup-temp-snippets Clean up expired temporary snippets
rconfig:clear-all Clear all cache and config elements for Laravel, NPM and other dependencies
rconfig:clear-horizon Clear Horizon Queue History
rconfig:config-encryption-manager Manage configuration encryption, including encrypting, decrypting, and rotating keys
rconfig:config-history:audit Audit config history invariants (latest flags, config change versions)
rconfig:config-history:repair Audit & repair config history invariants (versions, latest flags, consistency)
rconfig:config-summaries-sync Sync Config Summaries
rconfig:connectivity-check Check rConfig portal connectivity
rconfig:data-purge Purge old data based on settings_purge configuration with hybrid queue support
rconfig:digest-cleanup Cleanup old digest data via job queue
rconfig:digest-send Send digest emails to users via job queue
rconfig:download-api Download api configurations for one or multiple api connections via the CLI
rconfig:download-category Download configurations for one or multiple categories of devices
rconfig:download-device Download configurations for one or multiple devices via the CLI
rconfig:download-tag Download configurations for devices with one or multiple tags
rconfig:download-task Download configurations for devices with one or multiple tasks
rconfig:ensure-device-admin-role Ensure every device has at least one role assignment that includes the System Admin role (ID:1)
rconfig:integration-nautobot In Development: Command to sync Nautobot devices to rConfig via API integration.
rconfig:integration-nautobot-single-device Process a single Nautobot device through ETL workflow, requires a Nautobot Device ID.
rconfig:integration-netbox In Development: Command to sync Netbox devices to rConfig via API integration.
rconfig:integration-netbox-single-device Process a single Netbox device through ETL workflow, requires a Netbox Device ID.
rconfig:integration-v2-run Queue a V2 integration run for a specific integration instance.
rconfig:integration-v2-sync-definitions Sync integration_definitions for V2 drivers from the registered source drivers and schema metadata
rconfig:integration-zabbix In Development: Command to sync Zabbix devices to rConfig via API integration.
rconfig:integration-zabbix-single-device Process a single Zabbix device through ETL workflow, requires a Zabbix Host ID.
rconfig:list List all rconfig:* commands with their descriptions
rconfig:netmri-connection Manage NetMRI API connection configuration
rconfig:netmri-device-mappings Manage device type mappings for NetMRI import
rconfig:netmri-import-devices Import devices from NetMRI JSON file to rConfig database
rconfig:netmri-load-devices Load devices from NetMRI API to create rConfig import JSON
rconfig:notify-on-config-change Notify about configuration changes that occurred today
rconfig:oxidized-device-mappings Manage device type mappings for Oxidized import
rconfig:oxidized-import-devices Import devices from JSON file to rConfig database
rconfig:oxidized-load-devices Import devices from Oxidized to rConfig
rconfig:policy-definition-validation A command to validate a given policy definition against a specific config
rconfig:purge-configs Deprecated in 8.1 - Replaced with the Config Retention & History Repair Tool
rconfig:purge-configs-v2 Deprecated in 8.1 - Replaced with the Config Retention & History Repair Tool
rconfig:purge-failedconfigs Purge failed configs for some or all devices
rconfig:rancid-device-mappings Manage device type mappings for RANCID import
rconfig:rancid-import-devices Import devices from RANCID JSON file to rConfig database
rconfig:rancid-load-devices Load devices from RANCID to create rConfig import JSON
rconfig:report-lastDownload Output report of all devices latest downloaded configs
rconfig:run-policy-compliance Send a policy assignment job to the queue
rconfig:seed-initial Seed initial data after migrations
rconfig:seed-purge-defaults Seed default purge settings for all tables
rconfig:send-snippet Send a snippet to one or multiple devices via the CLI
rconfig:slacktest Test Slack integration
rconfig:snippet-task Send snippets to devices with one or multiple tasks
rconfig:snmp-poll-device Poll SNMP data for a specific device or all devices with optional walk functionality
rconfig:snmp-registry Manage SNMP trap registry from GitHub
rconfig:snmp-trap-handler Handle incoming SNMP traps and process them
rconfig:snmp-trap-supervisor Manage SNMP trap handler service via Supervisor
rconfig:solarwinds-connection Manage SolarWinds SWIS API connection configuration
rconfig:solarwinds-device-mappings Manage device type mappings for SolarWinds import
rconfig:solarwinds-import-devices Import devices from SolarWinds JSON file to rConfig database
rconfig:solarwinds-load-devices Load devices from SolarWinds SWIS API to create rConfig import JSON
rconfig:sweep-xftp-dir Sweeps the xFTP directory for files, attempts to match filename to device ID and uploads them to the correct device directory
rconfig:sync-tasks Sync the schedule of the app with the schedule monitor
rconfig:test-notifications-recipients Test the getNotificationRecipients method with different notification types and channels
rconfig:transform-eoc-definitions Transform legacy EOC definitions JSON to CIC policy format and update the database
rconfig:transform-policy-definitions Transform policy definitions JSON and update the database
rconfig:update-device-roles Update all devices to ensure they at least have admin have roles attached to them.
rconfig:update-rbac-data Command to update or refresh permissions table with new permissions
rconfig:update-snippet-roles Update all snippets to ensure they at least have admin have roles attached to them.
rconfig:update-tag-roles Update all tags to ensure they at least have admin have roles attached to them.
rconfig:vector-cm-accept-proposed Simulate Central Manager accepting the latest proposed device (local dev only)
rconfig:vector-cm-messages Consume messages from rConfig Vector Central Manager RabbitMQ queue
rconfig:vector:cm-outbox-list List sync_outbox rows with optional filters
rconfig:vector:cm-outbox-republish Dispatch PublishOutboxRowJob for sync_outbox rows
rconfig:xftp-backfill-uploads Backfill xFTP uploads tracking table from existing filesystem data (root xFTP dir and per-device xftpuploads dirs)
rconfig:xftp-toggle Toggle FTP/ TFTP or SFTP(SCP) servers on or off

All above commands must be run from within the rconfig8 directory, and must be run in the following format.

Generates AI-agent-friendly Markdown documentation for the REST API under storage/app/api-docs. Uses Scribe as the upstream extractor.

Terminal window
# Build markdown docs for all API versions (default)
php artisan rconfig:api-docs:build
# Build for a specific API version (v1, v2, or all)
php artisan rconfig:api-docs:build --api-version=v2
# Skip Scribe regeneration and re-render markdown from existing openapi.yaml
php artisan rconfig:api-docs:build --no-generate

Appends report result summary data to a saved compliance report. Runs automatically for compliance jobs post V7.2.6, but can be run manually to update reports or fix missing data.

Terminal window
# Append data to specific report
php artisan rconfig:append-compliance-report-data 123
# Append data to all reports
php artisan rconfig:append-compliance-report-data

Deprecated in rConfig V8.1 and replaced with the Data Purge Tool in System Settings. The command remains as a stub for backward compatibility but should not be used. Use the Data Purge Tool to archive or delete old logs based on your retention policies.

Backs up the .env file to the storage backups directory. Useful prior to upgrades or before making environment changes.

Terminal window
php artisan rconfig:backup-env

Removes expired temporary snippets from the system. This command is run automatically daily via the scheduler.

Terminal window
php artisan rconfig:cleanup-temp-snippets

Clears all cache and config elements for Laravel, NPM, and other dependencies. Use this to resolve many application issues. This is an important command to run after updates or configuration changes.

Terminal window
php artisan rconfig:clear-all

Clears Horizon queue history and failed jobs.

Terminal window
php artisan rconfig:clear-horizon

Manages configuration file encryption, including encrypting, decrypting, and rotating encryption keys.

Terminal window
php artisan rconfig:config-encryption-manager

Audits configuration history invariants such as latest flags and config change versions to identify inconsistencies. See Config Retention & Repair for more details.

Terminal window
php artisan rconfig:config-history:audit

Audits and repairs configuration history invariants including versions, latest flags, and consistency. See Config Retention & Repair for more details.

Terminal window
php artisan rconfig:config-history:repair

Syncs configuration count summaries to the database for faster UI load times. Runs automatically daily at 3AM.

Terminal window
php artisan rconfig:config-summaries-sync

Tests rConfig portal connectivity.

Terminal window
php artisan rconfig:connectivity-check

Purges old data based on settings_purge configuration with hybrid queue support.

Terminal window
php artisan rconfig:data-purge

Cleans up old email digest data via job queue. This command is run automatically daily via the scheduler.

Terminal window
php artisan rconfig:digest-cleanup

Sends digest emails to users via job queue.

Terminal window
php artisan rconfig:digest-send

Downloads API configurations for one or multiple API connections.

Terminal window
# Download from specific API collections
php artisan rconfig:download-api 500000 500001
# Enable debug output
php artisan rconfig:download-api 500000 -d

Downloads configurations for all devices in specified categories (Command Groups).

Terminal window
# Download from one or more categories
php artisan rconfig:download-category 1 2

Downloads configurations for specified devices. This command is essential for on-demand config retrieval and debugging.

Terminal window
# Download from specific devices
php artisan rconfig:download-device 1002 1003
# Enable debug output
php artisan rconfig:download-device 1002 -d
# Search by integration host ID
php artisan rconfig:download-device 1002 -i

Downloads configurations for all devices with specified tags.

Terminal window
php artisan rconfig:download-tag 1001

Downloads configurations for all devices associated with specified tasks.

Terminal window
php artisan rconfig:download-task 555555 666666

Ensures every device has at least one role assignment that includes the System Admin role (ID:1). Useful for repairing role assignments after bulk imports or upgrades.

Terminal window
php artisan rconfig:ensure-device-admin-role

Syncs Nautobot devices to rConfig via API integration. See Nautobot Integration documentation for details.

Terminal window
php artisan rconfig:integration-nautobot

rconfig:integration-nautobot-single-device

Section titled “rconfig:integration-nautobot-single-device”

Processes a single Nautobot device through ETL workflow. Requires Nautobot Device ID.

Terminal window
php artisan rconfig:integration-nautobot-single-device {device-id}

Syncs Netbox devices to rConfig via API integration. See Netbox Integration documentation for details.

Terminal window
php artisan rconfig:integration-netbox

Processes a single Netbox device through ETL workflow. Requires Netbox Device ID.

Terminal window
php artisan rconfig:integration-netbox-single-device {device-id}

Queues a V2 integration run for a specific integration instance. Supports preview/apply modes and inline or queued execution.

Terminal window
# Preview run for instance ID 5 (default mode is preview)
php artisan rconfig:integration-v2-run 5
# Apply run for instance ID 5
php artisan rconfig:integration-v2-run 5 --mode=apply
# Run by driver key instead of instance ID
php artisan rconfig:integration-v2-run --driver=zabbix
# Dispatch asynchronously to the queue
php artisan rconfig:integration-v2-run 5 --queue
# Verbose debug output
php artisan rconfig:integration-v2-run 5 -d

Syncs integration_definitions for V2 drivers from the registered source drivers and schema metadata.

Terminal window
# Sync definitions
php artisan rconfig:integration-v2-sync-definitions
# Also deactivate definitions no longer present in the source registry
php artisan rconfig:integration-v2-sync-definitions --cleanup

Syncs Zabbix devices to rConfig via API integration. See Zabbix Integration documentation for details.

Terminal window
php artisan rconfig:integration-zabbix

Processes a single Zabbix device through ETL workflow. Requires Zabbix Host ID.

Terminal window
php artisan rconfig:integration-zabbix-single-device {host-id}

Lists all rconfig:* commands with their descriptions.

Terminal window
php artisan rconfig:list

Manages the NetMRI API connection configuration used to import devices from Infoblox NetMRI.

Terminal window
# Set up NetMRI connection interactively
php artisan rconfig:netmri-connection --setup
# Test the existing connection
php artisan rconfig:netmri-connection --test
# Show current connection info
php artisan rconfig:netmri-connection --show
# Edit device filters
php artisan rconfig:netmri-connection --edit-filters
# Update the API URL
php artisan rconfig:netmri-connection --set-url=https://netmri.example.com
# Clear stored connection info
php artisan rconfig:netmri-connection --clear

Manages device type mappings used when importing from NetMRI.

Terminal window
# List all current mappings
php artisan rconfig:netmri-device-mappings --list
# Add a new mapping interactively
php artisan rconfig:netmri-device-mappings --add
# Edit a mapping by NetMRI device type
php artisan rconfig:netmri-device-mappings --edit="Cisco IOS"
# Delete a mapping by NetMRI device type
php artisan rconfig:netmri-device-mappings --delete="Cisco IOS"

Imports devices from a NetMRI JSON file into the rConfig database.

Terminal window
# Import devices from a JSON file
php artisan rconfig:netmri-import-devices /path/to/netmri-export.json
# Assign imported devices to a specific device group
php artisan rconfig:netmri-import-devices /path/to/netmri-export.json --group=2
# Validate without writing to the database
php artisan rconfig:netmri-import-devices /path/to/netmri-export.json --dry-run

Loads devices from the NetMRI API and creates a JSON file for use with rconfig:netmri-import-devices.

Terminal window
# Load devices using default batch size
php artisan rconfig:netmri-load-devices
# Override the batch size
php artisan rconfig:netmri-load-devices --batch-size=200
# Cap the number of devices fetched (useful for testing)
php artisan rconfig:netmri-load-devices --max-devices=50

Sends notifications about configuration changes that occurred today. Typically driven by the scheduler.

Terminal window
php artisan rconfig:notify-on-config-change

Manages device type mappings for Oxidized import.

Terminal window
php artisan rconfig:oxidized-device-mappings

Imports devices from JSON file to rConfig database.

Terminal window
php artisan rconfig:oxidized-import-devices

Imports devices from Oxidized to rConfig.

Terminal window
php artisan rconfig:oxidized-load-devices

Validates a given policy definition against a specific configuration.

Terminal window
php artisan rconfig:policy-definition-validation

Deprecated in rConfig V8.1 and replaced with the Config Retention & History Repair Tool. The command remains as a stub for backward compatibility but should not be used. Use the Config Retention & History Repair Tool in System Settings to manage configuration retention policies and repair configuration history.

Deprecated in rConfig V8.1 and replaced with the Config Retention & History Repair Tool. The command remains as a stub for backward compatibility but should not be used. Use the Config Retention & History Repair Tool in System Settings to manage configuration retention policies and repair configuration history.

Purges failed configurations for specified or all devices.

Terminal window
# Purge failed configs for specific devices
php artisan rconfig:purge-failedconfigs 1001 1002
# Purge all failed configs
php artisan rconfig:purge-failedconfigs --all

Manages device type mappings used when importing from RANCID.

Terminal window
# List all current mappings
php artisan rconfig:rancid-device-mappings --list
# Add a new mapping interactively
php artisan rconfig:rancid-device-mappings --add
# Edit a mapping by RANCID device type
php artisan rconfig:rancid-device-mappings --edit=cisco
# Delete a mapping by RANCID device type
php artisan rconfig:rancid-device-mappings --delete=cisco

Imports devices from a RANCID JSON file into the rConfig database.

Terminal window
# Import devices from a JSON file
php artisan rconfig:rancid-import-devices /path/to/rancid-export.json
# Assign imported devices to a specific device group
php artisan rconfig:rancid-import-devices /path/to/rancid-export.json --group=2
# Validate without writing to the database
php artisan rconfig:rancid-import-devices /path/to/rancid-export.json --dry-run

Loads devices from a RANCID installation and creates a JSON file for use with rconfig:rancid-import-devices.

Terminal window
# Load using auto-detected RANCID base path
php artisan rconfig:rancid-load-devices
# Specify a custom RANCID base path
php artisan rconfig:rancid-load-devices --rancid-base=/usr/local/rancid
# Import only a specific RANCID group
php artisan rconfig:rancid-load-devices --group=networking

Generates CLI report of all devices’ latest downloaded configurations.

Terminal window
php artisan rconfig:report-lastDownload

Sends a policy assignment job to the queue for compliance checking.

Terminal window
# Run compliance for specific policy assignment
php artisan rconfig:run-policy-compliance 1

Seeds initial data after migrations. Typically used during installation. Do not run on production systems unless directed by support.

Terminal window
php artisan rconfig:seed-initial

Seeds default purge settings for all tables. Use this to reset purge settings to defaults. This command is run automatically during setup and updates in V8 installations.

Terminal window
php artisan rconfig:seed-purge-defaults

Sends a command snippet to specified devices.

Terminal window
# Send snippet ID 5 to devices 21 and 22
php artisan rconfig:send-snippet 5 21 22

Tests Slack integration configuration. Sends a test message to the configured Slack channel.

Terminal window
php artisan rconfig:slacktest

Sends snippets to all devices associated with specified tasks.

Terminal window
# Send snippets for task 123456
php artisan rconfig:snippet-task 123456
# Enable debug output
php artisan rconfig:snippet-task 123456 -d

Polls SNMP data for specific device or all devices with optional walk functionality.

Terminal window
php artisan rconfig:snmp-poll-device

Manages SNMP trap registry from GitHub.

Terminal window
php artisan rconfig:snmp-registry

Handles incoming SNMP traps and processes them.

Terminal window
php artisan rconfig:snmp-trap-handler

Manages SNMP trap handler service via Supervisor.

Terminal window
php artisan rconfig:snmp-trap-supervisor

Manages the SolarWinds SWIS API connection configuration used to import nodes from SolarWinds NPM.

Terminal window
# Set up the SWIS connection interactively
php artisan rconfig:solarwinds-connection --setup
# Test the existing connection
php artisan rconfig:solarwinds-connection --test
# Show current connection info
php artisan rconfig:solarwinds-connection --show
# Edit node filters
php artisan rconfig:solarwinds-connection --edit-filters
# Update the SWIS URL
php artisan rconfig:solarwinds-connection --set-url=https://solarwinds.example.com:17778
# Clear stored connection info
php artisan rconfig:solarwinds-connection --clear

Manages device type mappings used when importing from SolarWinds.

Terminal window
# List all current mappings
php artisan rconfig:solarwinds-device-mappings --list
# Add a new mapping interactively
php artisan rconfig:solarwinds-device-mappings --add
# Edit a mapping by SolarWinds machine type
php artisan rconfig:solarwinds-device-mappings --edit="Cisco IOS"
# Delete a mapping by SolarWinds machine type
php artisan rconfig:solarwinds-device-mappings --delete="Cisco IOS"

Imports devices from a SolarWinds JSON file into the rConfig database.

Terminal window
# Import devices from a JSON file
php artisan rconfig:solarwinds-import-devices /path/to/solarwinds-export.json
# Assign imported devices to a specific device group
php artisan rconfig:solarwinds-import-devices /path/to/solarwinds-export.json --group=2
# Validate without writing to the database
php artisan rconfig:solarwinds-import-devices /path/to/solarwinds-export.json --dry-run

Loads nodes from the SolarWinds SWIS API and creates a JSON file for use with rconfig:solarwinds-import-devices.

Terminal window
# Load nodes using default batch size
php artisan rconfig:solarwinds-load-devices
# Override the batch size
php artisan rconfig:solarwinds-load-devices --batch-size=200
# Cap the number of nodes fetched (useful for testing)
php artisan rconfig:solarwinds-load-devices --max-nodes=50

Sweeps the xFTP directory for files, matches filenames to device IDs, and uploads them to the correct device directory.

Terminal window
php artisan rconfig:sweep-xftp-dir

Syncs the application schedule with the schedule monitor.

Terminal window
php artisan rconfig:sync-tasks

Tests the notification recipients method with different notification types and channels.

Terminal window
php artisan rconfig:test-notifications-recipients

Transforms legacy EOC definitions JSON to CIC policy format and updates the database.

Terminal window
php artisan rconfig:transform-eoc-definitions

Transforms policy definitions JSON and updates the database.

Terminal window
php artisan rconfig:transform-policy-definitions

Updates all devices to ensure they have at least admin roles attached.

Terminal window
php artisan rconfig:update-device-roles

Updates or refreshes permissions table with new permissions. Essential command if you have added new roles or permissions via updates or you get 403 errors in the UI.

Terminal window
php artisan rconfig:update-rbac-data

Updates all snippets to ensure they have at least admin roles attached.

Terminal window
php artisan rconfig:update-snippet-roles

Updates all tags to ensure they have at least admin roles attached.

Terminal window
php artisan rconfig:update-tag-roles

Simulates the Central Manager accepting the latest proposed device. Intended for local development only.

Terminal window
# Accept the latest proposed device
php artisan rconfig:vector-cm-accept-proposed
# Accept a specific event ID
php artisan rconfig:vector-cm-accept-proposed --event-id=abc123

Consumes messages from rConfig Vector Central Manager RabbitMQ queue.

Terminal window
php artisan rconfig:vector-cm-messages

Lists sync_outbox rows with optional filters. Useful for inspecting what the Central Manager outbox has produced.

Terminal window
# List the most recent 10 rows (default)
php artisan rconfig:vector:cm-outbox-list
# Filter by status
php artisan rconfig:vector:cm-outbox-list --status=pending
# Filter by event type and aggregate
php artisan rconfig:vector:cm-outbox-list --event-type=device.updated --aggregate-type=device --aggregate-id=1002
# Show only rows accepted (or not) by Central Manager
php artisan rconfig:vector:cm-outbox-list --accepted=yes --limit=50

Dispatches PublishOutboxRowJob for sync_outbox rows. Useful for replaying or recovering Central Manager events.

Terminal window
# Republish a specific outbox row by ID
php artisan rconfig:vector:cm-outbox-republish --id=42
# Republish rows by status (default limit 100)
php artisan rconfig:vector:cm-outbox-republish --status=failed --limit=25
# Override the queue name
php artisan rconfig:vector:cm-outbox-republish --status=pending --queue=rConfigDefault
# Force-publish, ignoring CM guard, timing, and acceptance checks
php artisan rconfig:vector:cm-outbox-republish --id=42 --force

Backfills the xFTP uploads tracking table from existing filesystem data (root xFTP directory and per-device xftpuploads directories).

Terminal window
# Backfill all files
php artisan rconfig:xftp-backfill-uploads
# Dry run (no DB writes)
php artisan rconfig:xftp-backfill-uploads --dry-run
# Cap the number of files scanned
php artisan rconfig:xftp-backfill-uploads --limit=1000

Toggles FTP/TFTP or SFTP(SCP) servers on or off.

Terminal window
# Toggle FTP/TFTP on
php artisan rconfig:xftp-toggle on
# Toggle FTP/TFTP off
php artisan rconfig:xftp-toggle off

  • All commands must be run from the rConfig installation directory (/var/www/html/rconfig8/current)
  • Commands require root privileges or sudo access
  • Many commands support the -d flag for verbose debug output
  • For detailed integration documentation, refer to the specific integration sections in the documentation