How to update rConfig V8 Pro
How to update rConfig V8 Pro
Section titled “How to update rConfig V8 Pro”After reading this page, I can locate the rConfig update interface, verify backup requirements, and apply a system update safely in a production environment.
When to use this
Section titled “When to use this”Use this guide when a green update notification appears on the rConfig dashboard, or when your team has scheduled a maintenance window to apply the latest release. If you are setting up rConfig for the first time, complete the V8 Pro Installation steps before using this workflow.
Prerequisites
Section titled “Prerequisites”- Administrator access to rConfig
- SSH access to the server running rConfig
- Your installation is at the default path
/var/www/html/rconfig8(non-standard paths are not supported) - A verified, tested backup completed before running the update (see Enterprise Backup Requirements below)
- Operating system is RHEL, CentOS, Rocky Linux, Alma Linux, or Ubuntu
Enterprise Backup Requirements
Section titled “Enterprise Backup Requirements”Enterprise Update Best Practices
Section titled “Enterprise Update Best Practices”License Agreement and Data Responsibility
Section titled “License Agreement and Data Responsibility”Step-by-step walkthrough
Section titled “Step-by-step walkthrough”1. Check for available updates
Section titled “1. Check for available updates”When an update is available, a green notification badge appears on the main rConfig dashboard.
2. Open the Update interface
Section titled “2. Open the Update interface”- Select System Settings from the main navigation sidebar.
- Under System Management, select Update.
3. Review the available release
Section titled “3. Review the available release”The Update interface has three tabs:
- Check Updates: Shows your installed version and available release version
- Instructions: Provides the exact commands to run for your operating system
- Release Notes: Details new features, enhancements, and resolved issues
Select Check Updates to confirm an update is available. If the interface shows “System is up to date” with a green indicator, no action is required.
4. Read the release notes
Section titled “4. Read the release notes”Select Release Notes and review the changes included in the new version. Note any breaking changes or integration impacts before proceeding.
5. Run the update commands
Section titled “5. Run the update commands”Select Instructions to see the commands for your operating system. Copy and run the commands appropriate for your deployed OS (RHEL/CentOS/Rocky Linux/Alma Linux or Ubuntu).
6. Verify the update
Section titled “6. Verify the update”After the commands complete, return to Check Updates. The installed version number should reflect the new release, and the status should show “System is up to date.”
Run a post-update smoke test: log in, navigate to a device, and confirm configuration backups are still accessible.
7. Secure Redis (first update to V8.4.1 or later)
Section titled “7. Secure Redis (first update to V8.4.1 or later)”From V8.4.1, rConfig requires a password on Redis. The standard and Vector deploy scripts secure Redis automatically on every deploy: they run rconfig:redis-secure --no-restart, which sets a password only if .env has none, and the deploy restarts the workers itself. You do not need to do anything.
Run it by hand only for a manual install, or if the deploy printed a warning that the Redis step was skipped or failed. From the rConfig folder:
cd /var/www/html/rconfig8/currentphp artisan rconfig:redis-security-check
# Only if the check reports "Redis has no password set"sudo php artisan rconfig:redis-secureThe command writes the password to REDIS_PASSWORD in .env, requires it on Redis, and restarts Horizon, the queue workers, and the SNMP trap handler. It is safe to re-run. If other rConfig nodes share this Redis, they are locked out until they get the same password, so read Redis Authentication before running it.
After upgrading to V8.4.1
Section titled “After upgrading to V8.4.1”V8.4.1 stops rConfig running anything as root. The deploy now:
- writes the Horizon Supervisor config as a root-owned file with
user=set to the web server user, and replaces any symlink or hand-edited copy (see Horizon Queue Manager) - stops Horizon before it changes any files, waits for running jobs to finish, and starts it again at the end
- keeps the scheduler in the web user’s crontab and removes any
schedule:runline from root’s crontab - moves an SNMP trap receiver set up under Supervisor to the systemd service
rconfig-snmptrap - installs the xFTP Docker helper and locks down the xFTP folder where it can
- stops opening
storageto every local user - runs
rconfig:check-worker-useras its last step
The SNMP and xFTP steps print a warning and the deploy carries on if they cannot finish. Check the deploy output for warnings, then work through this list once.
-
Check the Worker Privilege alert. Open the dashboard Health Status panel, or run the check from the rConfig folder:
Terminal window cd /var/www/html/rconfig8/currentsudo php artisan rconfig:check-worker-userEvery line should read OK or SKIP. For anything else, see Worker Privilege.
-
Recreate the xFTP containers, then lock down the folder. Containers started before V8.4.1 need a folder every local user can write to, so the folder stays open until they are replaced. For each running service, run
sudo php artisan rconfig:xftp-toggle, stop it, then run it again and start it. Then run:Terminal window sudo php artisan rconfig:xftp-toggle --fix-permissionsIf you added the web server user to the
dockergroup by hand, remove it withsudo gpasswd -d apache docker(www-dataon Ubuntu). See xFTP Server. -
Check the SNMP trap receiver, if you use SNMP traps. It now runs under systemd, not Supervisor:
Terminal window systemctl status rconfig-snmptrapOn Ubuntu, a receiver set up with the old
.inifile never ran, so the upgrade installs it but leaves it off. Turn it on withsudo php artisan rconfig:snmp-trap-service install. See SNMP Trap Receiver Service. -
Use the new Vector agent install command. The old
curl … install.sh?bootstrap_token=… | sudo bashcommand no longer installs anything. Copy a new command from Vector Agents and update any automation that runs the old one. Agents already installed keep working. See Vector agent installation. -
Check scripts that ran as root. Script connections now run as the web server user. A script that read root-only files or called
sudowithout a rule stops working. See Which user runs your scripts?. -
Set permissions on configs saved before the upgrade. New configs are saved
0440, but configs from earlier versions stay readable by every local user until you run:Terminal window cd /var/www/html/rconfig8/currentsudo php artisan rconfig:set-config-permissions --dry-runsudo php artisan rconfig:set-config-permissionsThe first run can change thousands of files. It is safe to re-run. Then open Settings > System Management > System Optimization and check that every storage row on the Security & privileges card is OK. See Storage permissions.
-
Check who gets health check alerts. From V8.4.1, failing health checks send Health Check Failed and Health Check Recovered notifications through the normal notification channels instead of spatie’s own email, which was never switched on. In-app and email are on by default for every user with notifications enabled. To also post them to Slack or Teams, switch them on in Settings → Notifications, or tick them on a webhook.
-
Vector installs only: check the Vector Hub helper. The Vector deploy scripts install it, and the deploy fails if they cannot. After a manual upgrade, install it with
sudo php artisan rconfig:vector-hub-install-helperand restart Horizon. See Vector Hub. -
Still on HTTP? Switch to HTTPS. From V8.4.1, the dashboard shows an HTTPS alert while
APP_URLstarts withhttp://. For a self-signed certificate, run:Terminal window cd /var/www/html/rconfig8/currentsudo php artisan rconfig:ssl-self-signed --dry-runsudo php artisan rconfig:ssl-self-signedIf you already serve rConfig over HTTPS but
APP_URLstill sayshttp://, set it to yourhttps://address instead. See SSL Configuration. -
Optional: NetBox or Nautobot devices behind NAT. From V8.4.1, the V2 NetBox and Nautobot integrations can manage a device on its NAT (outside) address instead of an unreachable primary IPv4. If you hand-edited device IPs to work around this, turn on Prefer NAT (Outside) IPv4 in the integration’s Setup tab and check Sync Preview before the next Apply. See Devices behind NAT.
-
Optional: turn on snippet error detection. From V8.4.1, rConfig can report a snippet send as Failed when the device rejects a line, instead of showing it green. Existing templates don’t have the
snippet_errorsblock that turns this on, so their sends are reported as Success (not checked) and behave as before. Add the block to the templates you use for snippets, or re-import the Cisco IOS templates from the repository. See Snippet Error Detection. -
Check who can send snippets to many devices. From V8.4.1, Send to devices… in the Snippets list sends one snippet to many devices at once. It needs the
snippet.viewandconfig.createpermissions, and only shows snippets assigned to the user’s role. Make sure the roles that should use it have both, and restart Horizon after the update so it picks up the new batch jobs. See Send to many devices from the Snippets list. -
Check the HorizonOne worker count. From V8.4.1,
HORIZON_MAX_PROCESSin.envalso sets the worker count for the general queues (compliance, notifications, SNMP traps), not just downloads. Those queues keep all their workers running, so a standard.envgoes from 5 to 10 always-on workers. If you raisedHORIZON_MAX_PROCESS, they now run that many too. Check memory and databasemax_connections, then restart Horizon. See Horizon Queue Manager. -
Vector installs only: update agents to 2.0.1 to use an outbound source address. From V8.4.1, with vector-server-pkg 2.0.11, an agent can connect to its devices from a chosen local address (Settings > Agents > edit > Configuration > Advanced > Outbound Source Address). Agents older than 2.0.1 ignore it and show Agent update needed. Make 2.0.1 the active binary on Binary Admin, then on each agent host run the installer again with
sudo bash vector-agent-install.sh --server 'https://<rconfig>'. Skip vector-server-pkg 2.0.10: its installer refuses the published 2.0.1 binary. See Outbound source address.
After upgrading to V8.4.2
Section titled “After upgrading to V8.4.2”V8.4.2 changes how CIC definitions are applied to backups and adds two device sync drivers. Check these once:
-
Expect some configs to move from Valid to Failed. From V8.4.2, every rule in a CIC definition must pass. Before, only the last rule counted, so a definition with several rules could pass even when an earlier rule failed. Run CIC Recheck on a few devices to see the effect straight away, and use Test against a config in the definition editor to find the failing rule. See Multiple Validation Strings.
-
Look for flagged CIC definitions. Open Compliance → CIC Definitions. A warning icon marks a definition with problems in its file, or one that couldn’t run during a backup. Definitions saved before V8.4.1, or edited directly on disk, are the usual cause. Open each one; the editor underlines the problem. See Finding broken definitions.
-
Unknown CIC status no longer means a failed download. A CIC definition that can’t run now leaves the config saved as Unknown instead of failing the download. To see why, filter Settings → Application Logs by Event type
cic. -
New LibreNMS, Observium and OpenNMS device sync drivers. From V8.4.2, Platform → Integrations → + Add Driver lists LibreNMS, Observium and OpenNMS. If they are missing, run
php artisan rconfig:integration-v2-sync-definitions, then rebuild the front end withnpm run buildso their logos and filter card show. Observium needs the Professional or Enterprise edition and is not yet tested against a live instance. See LibreNMS Device Sync V2, Observium Device Sync V2 and OpenNMS Device Sync V2. -
Optional: whole-config checksum rules. From V8.4.2, a compliance policy definition can check a config against a checksum with
#[must_match_checksum]or#[must_match_any_checksum]. Copy a config’s checksum from the fingerprint button (Policy Checksums) in the config toolbar. Nothing changes for existing definitions. If you use config obfuscation, read the caution on that page first. Rebuild the front end withnpm run buildso the policy editor and results show the new methods. See Whole-config checksums. -
AI Center answers may change slightly. From V8.4.2, the upgrade loads rConfig’s built-in networking knowledge, which earlier versions never loaded, and keeps at least 40% of each AI feature’s knowledge budget for your customer knowledge entries. Nothing to do unless you’ve added customer entries: check that long ones still fit. See Teach the AI your conventions.
-
More AI providers, and the Azure endpoint moves into the form. From V8.4.2, AI Center → AI Settings also offers Mistral, xAI (Grok), DeepSeek, Groq, Cohere and OpenRouter, and OpenAI-Compatible takes an optional API key in the form. Azure OpenAI now has an Endpoint field; existing Azure providers keep reading
AZURE_OPENAI_URLfrom.envuntil you edit them and add the endpoint. Rebuild the front end withnpm run buildso the new provider forms show. See Set up an AI provider. -
MCP agents can ask for the running config by name, and read older versions. From V8.4.2, the
get_latest_configMCP tool takes an optionalcommandfilter, so an agent asking for the running config no longer getsshow versionoutput on devices that collect both. A newget_configtool returns any stored version by its ID, so agents can answer “what did it look like on June 1?”. Nothing to change on the server. If you installed the rConfig Core Skill, download it again from AI Center → Skills so your agent’s instructions mention the filter. See MCP Server. -
Vector agent provisioning needs a token with
agents.write. From V8.4.2,POST /api/v2/agents/provisionrefuses tokens without the new Provision Vector agents ability, and the token owner needsagent.create(oragent.updatefor an existing agent). No existing token has the ability, so any Ansible, Terraform or CI runbook that provisions agents returns403until you create a new token under Settings → REST API → Tokens with Provision Vector agents ticked and swap it in. Token abilities can’t be edited. See Automated Agent Deployment. -
MCP tokens: a new permission, expiry, and admin oversight. From V8.4.2:
- New permission.
aicenter.mcptokenlets a role create and revoke its own MCP tokens without AI settings rights.rconfig:update-rbac-dataasks to grant it to every role that already hasaicenter.update, so nobody loses access. Give it to engineers’ roles where you want self-service. - Admin oversight. Users with
aicenter.updatesee and revoke the tokens of users they manage, and can create a token for a service user under Token for. - Expiry. New tokens expire after a year unless you choose otherwise. Existing tokens keep working with no expiry, so revoke and replace any you want to expire.
- Rebuild the front end with
npm run buildso the MCP Server tab shows the new fields.
See MCP Server.
- New permission.
-
Role templates replace the preset roles. From V8.4.2, Add Role and Edit Role offer templates (Read-Only, Read-Only + Device Edit, Standard User, AI Center User, and Vector User when Vector is installed) that fill the permission matrix for you. Your existing preset roles and the Guest role stay as they are, and preset roles can now be deleted unless LDAP or RADIUS uses one as its default. Nothing to do on upgrade. Rebuild the front end with
npm run buildso the dialog shows the templates. See Role templates. -
Expect some API Collections to show as Down. From V8.4.2, an endpoint that returns an HTTP error (401, 404, 500 and so on) or can’t be reached is a failed download, and the collection is marked Down with the reason. Before, the error page was saved as a config and the collection could still show Up, so these collections were already failing. The API Categories and API Tags task types now work. Rebuild the front end with
npm run buildso the task wizard shows their pickers. See When a Download Fails. -
Backup failures now show why. From V8.4.2, a failed device or API Collection backup records a reason, such as
Authentication failed: Username or password rejected for 'admin' (SSH). You see it on the status icon in the Devices table, beside Last Config, on the device page and in the failure notification and email. The Status filter adds Last Backup Failed and Last Backup: Conn/Auth. Reasons start with each device’s first backup after the upgrade, so devices show nothing until then. Runphp artisan migrate(the update does this) and rebuild the front end withnpm run build. Two side effects:- Telnet and TL1 devices that can’t be reached send one failure notification instead of two.
- The
download_methodin device events now names the real protocol instead of always sayingssh.
-
Device Sync passwords and tokens are stored encrypted. From V8.4.2, the upgrade encrypts the passwords, API tokens and API keys saved for every Device Sync V2 integration, so they are no longer readable in the database or in what rConfig sends to the browser. Syncs keep working, with nothing to re-enter. On the integration’s Setup tab, a saved secret field now shows Saved. Leave blank to keep it. instead of the value. Leave it blank to keep the stored secret, or type a new one to replace it. Run
php artisan migrate(the update does this) and rebuild the front end withnpm run build. Preview runs also no longer change device links: only a Full Sync acts on devices missing from the source. -
Reports, the digest and the dashboard show failure reasons. From V8.4.2:
- Task reports add a Reason column and a count of failures by type. CIC-failed configs get their own icon.
- Failure only report emails are also sent when a config fails its CIC check, so you may get a few more of them.
- The Latest Error Devices dashboard card shows why each device’s last backup failed.
- The digest’s Configuration Downloads figure counts only saved device and agent configs. Before, it also counted failed attempts, snippets and API Collection downloads, so expect a lower number in the first digest after the upgrade. The digest now shows failed backups and devices with Connection/Auth failures, which before always counted 0.
Nothing to do. See Why a Device Failed.
-
Some backups that “succeeded” before may now fail. From V8.4.2, a backup fails instead of saving a bad config when:
- the device refuses the enable password, or
- a command never gets back to the device prompt (partial output).
Before, these saved non-enable or cut-off output as a good backup. After upgrading, filter the Devices table by Last Backup Failed and look for
Enable password rejectedorTimed out waiting for the device prompt. Fix the enable password, or raise the template timeout for slow devices and very large configs. See Why the Last Backup Failed. -
Key vault settings move into the UI, and two new vaults arrive (early access). From V8.4.2, key vaults are set up on their own pages under Platform → Integrations → Device Credentials instead of in
.env, and more than one vault can be switched on at once. Two new vaults are available in early access: Palo Alto Networks Idira (CyberArk), through the Central Credential Provider, and Delinea Secret Server. If you already use HashiCorp Vault from.env, nothing breaks: rConfig keeps reading.envuntil you open the Hashicorp Vault page and click Save, which copies the address and token into rConfig (stored encrypted). After that theVAULT_HASHICORP_*lines in.envare ignored. Existing vault credential sets keep working. Runphp artisan migrate(the update does this) and rebuild the front end withnpm run build. See the Vault Credentials Overview, Idira (CyberArk) Setup and Delinea Secret Server Setup.
Common gotchas
Section titled “Common gotchas”What’s next
Section titled “What’s next”- V8 Pro Installation - Review the original installation steps if you are rebuilding or moving the system
- Docker deployment for rConfig V8 Pro - If you operate a containerised stack, review the Docker-specific update guidance
- rConfig V8 Features Overview - Understand what capabilities the latest release adds