Skip to main content

Hypervisor Updates

Overview

The platform has two separately versioned components:

  • Master: the Laravel web panel that you, your admins, and your customers log into.
  • Slave: the agent installed on each KVM host that actually runs the VMs.

Both are updated by downloading a packaged ZIP from the official update channel and applying it through the panel's Updates page or the hvcli command. Updates ship security fixes, bug fixes and new features. We recommend applying them shortly after release.

Concepts

  • hvcli is the command line wrapper installed alongside the platform. It runs Laravel artisan commands as the correct system user, so admins do not have to remember sudo -u www-data php artisan ....
  • app:update is the artisan command that pulls the latest Master ZIP, places it in the right location, runs migrations and clears caches.
  • hypervisor:update is the artisan command on the Master that pushes a new Slave package out to a hypervisor.

Admin steps

Update the Master (management server)

SSH into your management server and run:

hvcli app:update

The command downloads the new ZIP, swaps files, runs database migrations and rebuilds caches. Active web sessions are preserved.

You can also trigger the same flow from the panel under System > Updates.

System settings

Update a hypervisor (Slave)

Still from the management server's shell:

hvcli hypervisor:update

The Master ships the new Slave package to each connected hypervisor and instructs the agent to restart itself. Running VMs are not interrupted; only the agent process is restarted.

Troubleshooting

  • If hvcli app:update fails part way through, re-run it. The command is safe to retry; it picks up from a clean state.
  • If a hypervisor stays on the old version after hypervisor:update, check that the Master can reach it on port 2443 and look at the Tasks page for the failed update job.