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:append-compliance-report-data Append report result summary data to a saved compliance report
rconfig:archive-logs Will archive x amount of activity log rows or days
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-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: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-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: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 Purge configs older than X days
rconfig:purge-configs-v2 New purge options, including day-based and version-based purges.
rconfig:purge-failedconfigs Purge failed configs for some or all devices
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: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-messages Consume messages from rConfig Vector Central Manager RabbitMQ queue
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.

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

Archives activity log entries to the archive table based on age (days or row count).

Terminal window
# Archive logs older than 7 days
php artisan rconfig:archive-logs --days=7
# Archive oldest 1000 log entries
php artisan rconfig:archive-logs --rows=1000

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

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

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}

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

Purges configurations older than specified number of days.

Terminal window
# Purge configs older than 30 days
php artisan rconfig:purge-configs 30

Enhanced purge options including day-based and version-based purges.

Terminal window
php artisan rconfig:purge-configs-v2

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

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.

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

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

Consumes messages from rConfig Vector Central Manager RabbitMQ queue.

Terminal window
php artisan rconfig:vector-cm-messages

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

The following commands list various rConfig resources and their IDs for use with other commands:

  • php artisan rconfig:list-categories - Lists all Command Groups
  • php artisan rconfig:list-devices - Lists all devices
  • php artisan rconfig:list-snippets - Lists all command snippets
  • php artisan rconfig:list-tags - Lists all tags
  • php artisan rconfig:list-tasks - Lists all tasks
  • 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