Use of the Mender configuration add-on

We would like to use the mender configuration add-on in our Mender (3.0) setup.
Unfortunately configuration deployment fails:

2021-09-30 14:16:41 +0000 UTC info: Running Mender client version: 3.1.0
2021-09-30 14:16:41 +0000 UTC info: State transition: update-fetch [Download_Enter] -> update-store [Download_Enter]
2021-09-30 14:16:41 +0000 UTC error: Fetching Artifact headers failed: installer: failed to read Artifact: reader: expecting signed artifact, but no signature file found
2021-09-30 14:16:41 +0000 UTC info: State transition: update-store [Download_Enter] -> update-status-report [none]

Probably the root cause is that our device firmware artifacts are signed and checked via the *ArtifactVerifyKey* option . Probably the scope of this option is for all types of artifacts including configuration.

As far as my limited knowledge goes are the configuration artifacts created by the mender server but not signed. Is there a work-around?

Thanks in advance.

Hey @Dave, unfortunately using Mender-Configure and signed artifacts together is not supported at the moment.

There is a workaround, but it has some quite severe disadvantages: You can create the artifact manually, sign it, and then upload and deploy it like you would with a rootfs artifact. So it’s more work, and you lose the whole UI experience this way.

@kacf Thanks for the answer. Pity that there’s no easy workaround as I really would have liked to use this feature. Maybe you can add this limitation to the documentation?

Good point, I have added a note about it here.

Hello all! Regarding the creation of a manual configure update I have a question. What would be the proper setup of such an artifact? I tried multiple possibilities with the mender-artifact tool e.g:

./mender-artifact write module-image  -T mender-configure -o artifact.mender -n sample-name -t sample-platform --software-version 1 --software-filesystem data-partition -f device-config.json

The content of device-config.json would be:

{
    "key":"value"
}

Mender-client receives the update, installs and commits it properly like it would with a configuration done via UI but the resulting json is always null. Can you publish instructions as how to properly create a configuration artifact?

Best regards

For anyone interested: Use -m device-config.json instead of -f device-config.json. This adds the json as meta-data which is apparently expected by the mender-configure

2 Likes