Skip to main content

Automatic Update Checking

Bacalhau has an update checking service to automatically detect whether a newer version of the software is available.

Users who are both running CLI commands and operating nodes will be regularly informed that a new release can be downloaded and installed.

For clients

Bacalhau will run an update check regularly when client commands are executed. If an update is available, explanatory text will be printed at the end of the command.

To force a manual update check, run the bacalhau version command, which will explicitly list the latest software release alongside the server and client versions.

bacalhau version

Expected Output
CLIENT SERVER LATEST UPDATE MESSAGE
v1.2.0 v1.2.0 v1.2.0

For node operators

Bacalhau will run an update check regularly as part of the normal operation of the node.

If an update is available, an INFO level message will be printed to the log.

Configuring checks

Bacalhau has some configuration options for controlling how often checks are performed. By default, an update check will run no more than once every 24 hours. Users can opt out of automatic update checks using the configuration described below.

Config propertyEnvironment variableDefault valueMeaning
Update.SkipChecksBACALHAU_UPDATE_SKIPCHECKSFalseIf true, no update checks will be performed. As an environment variable, set to "1", "t" or "true".
Update.CheckFrequencyBACALHAU_UPDATE_CHECKFREQUENCY24 hoursThe minimum amount of time between automated update checks. Set as any duration of hours, minutes or seconds, e.g. 24h or 10m.
Update.CheckStatePathBACALHAU_UPDATE_CHECKSTATEPATH$BACALHAU_DIR/update.jsonAn absolute path where Bacalhau should store the date and time of the last check.
info

It's important to note that disabling the automatic update checks may lead to potential issues, arising from mismatched versions of different actors within Bacalhau.

To output update check config, run bacalhau config list:

bacalhau config list

Expected Output
...
update.checkfrequency 24h0m0s
update.checkstatepath /home/user/.bacalhau/update.json
update.skipchecks false
...