Korthveil checks the Korthveil update service for new versions and tells you what each one changes, what to do first, and whether it installs live (no restart, traffic keeps flowing) or needs one restart. Nothing installs until you press Install, unless you turn on an automatic window yourself. If an update does not work as it should for you, go back to the previous version in seconds.

At a glance:

What Where What happens
A new version is found Top bar: Update 1.x.y badge; System › Updates Release notes, measures, live or restart
Install System › Updates › Install Downloaded, checked against the signed release list, then switched live. Usually only Korthveil itself (about 35 MB); when the system underneath changes, the whole system goes into the spare slot first
Go back System › Updates › Previous version Switches back to the version kept in the other slot; no download
Download in advance Update settings › Download updates in advance The image is ready before you press Install
Automatic installs Update settings › Automatic installs Only in the window you set; can be limited to live updates

How an update works

Most releases change only Korthveil itself: its services, the web console, the guides. Since 1.1.24, such a release is installed as a small Korthveil layer (about 35 MB instead of about 1.3 GB):

System › Updates says which kind each update is: Only Korthveil itself changes: a 35 MB download, or the size of the whole system. The firewall decides by itself: a layer is used only when it was built for exactly the system this firewall runs (the same Debian packages, kernel and firmware). Otherwise the whole system is updated, as below.

After a Korthveil-only update: the new version, back in service after 13 seconds, the previous version kept as the way back
After a Korthveil-only update: the new version, back in service after 13 seconds, the previous version kept as the way back

Going back after such an update uses the same button as always, Previous version: the Korthveil from before the update is still on the firewall, so nothing is downloaded.

Going back after a Korthveil-only update
Going back after a Korthveil-only update

When the system underneath changes (two slots)

Korthveil keeps two system slots on the disk. The running version is in one; an update is written into the other while the firewall keeps working. Then:

Every way, the new version must pass its health check (its configuration applies, the internet route and SentinelOps work). If it does not, the firewall goes back to the previous version by itself: the previous slot, or for a Korthveil layer the previous layer. The check always runs from the system's own copy of the update program, so even a broken update cannot stop it from going back.

An update offered: release notes, measures, and whether it installs live
An update offered: release notes, measures, and whether it installs live

Step 1: Check for updates

The firewall checks every 6 hours. To check now: System › Updates › Check now. When a newer version exists, every page shows Update 1.x.y in the top bar.

The offer shows:

The release list is signed with the Korthveil release key built into your firewall: a changed or forged list, or an image that does not match it, is refused.

Step 2: Install

Press Install 1.x.y. A progress bar shows the download: about 35 MB when only Korthveil changes, about 1.3 GB when the whole system does. Then the firewall switches (after writing the spare slot, for a whole-system update). For a live update, the web console disconnects for about 15 seconds and comes back on the new version; the page shows the result under Last update.

Tip: turn on Download updates in advance (Step 4) and Install only switches: no waiting for the download.

Update settings: channel, check interval, download in advance, automatic window
Update settings: channel, check interval, download in advance, automatic window

Step 3: Going back to the previous version

If an update does not work as it should for you: System › Updates › Previous version › Go back to 1.x.y.

If the firewall no longer has the previous version in its other slot (for example after a fresh install), the update service keeps the previous release too: Install it from the same panel (only when it uses the same database format).

Going back: the previous version is kept in the other slot
Going back: the previous version is kept in the other slot

Step 4: Update settings

System › Updates › Update settings, then Save and commit:

Installing from a file

System › Updates › Install from file takes either file a release ships: the update image korthveil-1.x.y-installer.img.zst (the whole system), or the Korthveil layer korthveil-1.x.y.layer.raw. A layer is installed only when it fits this firewall's system; otherwise the firewall says so and changes nothing.

Updating a failover pair

With two Korthveil firewalls in a failover pair (see Two firewalls with automatic failover), update one at a time:

  1. Update the standby firewall (live). Wait until its top bar shows the new version and Failover · Standby is green.
  2. On the active firewall: Network › High availability › Force failover. The standby takes over the gateway and the internet port; connections continue.
  3. Update the first firewall (now standby). When it is done, Clear forced failover (or wait for the time you chose) so the primary takes the active role back.

Automatic installs in a pair: only the standby firewall installs by itself in the automatic window. The active firewall waits for you (steps 2 and 3), so the two never restart at the same time.

Troubleshooting

You see Meaning What to do
The last check failed: … cannot be reached The firewall cannot reach the update service Check DNS and the internet route; the check repeats on schedule
… not signed by the Korthveil release key The release list was changed Nothing is offered; report it
Not installed: the download does not match A damaged download Press Install again
Korthveil 1.x.y was not kept The new version did not pass its health check The firewall went back by itself; the reason is shown under Last update
This layer cannot be installed: it is for another base system An uploaded Korthveil layer was built for other Debian packages, kernel or firmware Nothing changed. Install the update image (korthveil-1.x.y-installer.img.zst) instead
The last attempt was not done (Previous version) Going back was refused (for example the previous version predates live updates) The reason is shown; install that version from the update service or a USB stick