OTA Connect Developer Guide

Recommended client configurations

Before you start developing or deploying to production, you should check that your configuration file has appropriate settings for your use case.

The configuration file and exact parameters depend on how you use OTA Connect:

  • If you’re building disk images that contain aktualizr or libaktualizr, you need to update your build configuration.

  • If you’re using a standalone version of aktualizr that you’ve installed locally, you need to update the client configuration.

  • Build configuration

  • Client configuration

If you build a software image that contains aktualizr, your configuration is the local.conf file.

You can find this file in the conf subdirectory of your build project.

For more information, see the build configuration reference and the sample build procedures.

Table 1. Recommended build configuration for development
Configuration Description

SOTA_POLLING_SEC = "10"

IMAGE_INSTALL_append = " aktualizr-polling-interval "

Interval between polls (in seconds).

The default polling internal designed to make it convenient for you test and develop OTA update functions.

IMAGE_INSTALL_append = " aktualizr-auto-reboot "

Forces installation completion. Causes a system reboot when using the OSTree package manager. Emulates a reboot when using the fake package manager.

You may want to enable this option for convenience during development.

IMAGE_INSTALL_append += " systemd-journald-persistent"

To troubleshoot problems that you might encounter during development, we recommend that you enable persistent systemd logging. This setting is enabled by default for newly configured environments (see local.conf.sample.append).

IMAGE_INSTALL_append += " aktualizr-log-debug"

We also recommending running with debug logging enabled in aktualizr during development.

Table 2. Recommended build configuration for production
Configuration Description

SOTA_POLLING_SEC = "84600"

IMAGE_INSTALL_append = " aktualizr-polling-interval "

When moving to production you’ll want to have a much longer interval. In fact, for production, we don’t support intervals less the 1 hour (3,600 seconds). Longer internals help you to reduce the internet bandwidth and power consumption for your devices.

We recommend an internal between 1 and 7 days (86,400 to 604,800 seconds)

Remove aktualizr-auto-reboot from the IMAGE_INSTALL_append parameter.

If you followed our recommendation to enable automatic rebooting for development, you should disable again for production.

Remove systemd-journald-persistent from the IMAGE_INSTALL_append parameter.

If you followed our recommendation to enable log persistence for development, you may want to disable it for production to save space on your device.

Remove aktualizr-log-debug from the IMAGE_INSTALL_append parameter.

If you followed our recommendation to enable debug-level logging for development, you may want to disable it for production to reduce file writes.

If you are running standalone aktualizr, your configuration file will be a .toml file.

You configure aktualizr by creating and updating a *.toml file in one of the following directories:

  • /usr/lib/sota/conf.d

  • /etc/sota/conf.d/

For more information and links to sample configuration files, see the client configuration reference.

Table 3. Recommended client configuration for development
Configuration Description

polling_sec = "10"

Interval between polls (in seconds).

The default polling internal designed to make it convenient for you test and develop OTA update functions.

force_install_completion = "true"

Forces installation completion. Causes a system reboot when using the OSTree package manager. Emulates a reboot when using the fake package manager.

You may want to enable this option for convenience during development.

Table 4. Recommended client configuration for production
Configuration Description

polling_sec = "84600"

When moving to production you’ll want to have a much longer interval. In fact, for production, we don’t support intervals less the 1 hour (3,600 seconds). Longer internals help you to reduce the internet bandwidth and power consumption for your devices.

We recommend an internal between 1 and 7 days (86,400 to 604,800 seconds)

force_install_completion = "false"

If you followed our recommendation to enable automatic rebooting for development, you should disable again for production.