Mender Configure update module

Description

An update module to manage device configuration via Mender Configure add-on. See Mender Docs for an overview of the add-on.

mender-configure is the update module responsible for fetching and reporting configuration, and requires the user to use one or multiple apply-device-config script(s) to apply the configuration on the device. See Mender Docs guide How to make an apply-device-config script for more details.

Example use-cases:

  • Setting timezone
  • Setting WiFi credentials
  • Setting firewall rules
  • Setting any user-specific configuration parameters

Specification

Specification
Module name mender-configure
Supports rollback Yes
Requires reboot Maybe(*)
Artifact generation script No(**)
Full system updater No
Source code GitHub repository
Maintainer Northern.tech

(*) It depends on the user provided apply-device-config scripts
(**) The Artifact is generated in the Mender UI

Prepare the device

This section describes how to set up your target device, i.e. the device to be updated. This will also be referred to as the device environment.

All commands outlined in this section should be run in the device environment.

Prerequisites

This Update Module has the following prerequisites for the device environment:

Install the Update Module

Follow the instructions that correspond to your device setup.

Yocto project

mender-configure is available in meta-mender releases dunfell-v2021.04 and newer. If you are using meta-mender-demo layer, the Update Module is added to your image by default together with some apply-device-config script. If not, you can add it to your image with

IMAGE_INSTALL_append = " mender-configure"

Debian family (via mender-convert)

mender-configure is available for mender-convert builds, and is enabled setting the following variable:

MENDER_ADDON_CONFIGURE_INSTALL=”y”

The specific version to install can also be configured if desired. See Mender Docs page for more information.

Debian family (standalone deb package)

mender-configure is also available in the Mender APT repository. Follow instructions in Mender Docs to install the repository in your device. Then, install mender-configure with:

sudo apt-get update
sudo apt-get install mender-configure

From source

Alternatively to all the above, it is possible to install from source. Follow these steps:

git clone -b 1.0.2 https://github.com/mendersoftware/mender-configure-module.git
cd mender-configure-module
make install

Install apply-device-config script(s)

To actually apply the configuration on your device, Mender relies on user supplied apply-device-config scripts. See Mender Docs guide How to make an apply-device-config script for a complete guide on how to write such scripts.

As an example, see the timezone script which sets the timezone of the device, according to the “timezone” key, given in the file in the first argument.

Deploy configuration updates

The configuration Artifacts are generated by the Mender Server on the fly, so no local use of mender-artifact nor other generation scripts are required. See Mender Docs for more information.

Hi there,

Thanks for this great feature. Am I right with the assumption that there is nothing speaking against deploying a configuration directly to a device group, since they are artifacts/deployments? Would it also be possible to create a kind of default config deployment mechanism that sends a config to a device receives when it gets added to a group? Or have I missed another feature that could be able to handle this?

Cheers,
Dominik

Indeed you can. The only difference is that you have to create and upload the artifact yourself, you can’t do it directly with the configuration editor.

I think you can do this with dynamic deployments, but I’m not an expert in this area, so don’t take my word for it.

1 Like