Resolution: Won't Do
Affects Version/s: None
Fix Version/s: None
Epic Name:Easily installing Mender client on Debian family
Market Goal:* Increase adoption by simplifying installation for common development boards
Risk & mitigation:TBD
Epic Total Estimate:5
Today we have a .deb package for installing the Mender client as well as a "downstream" project to Debian official repositories.
However, there is configuration that needs to be in place for the Mender client to work as well, and a wizard for taking these values using debconf is planned in
MEN-2315. But even with this wizard the user needs to input some non-trival information (e.g. the user / pass to Hosted Mender) and it is not well suited for the "copy & paste" box we now have in onboarding: it would actually make things a bit more difficult as the user can no longer just copy and paste, but must type in his specific values when asked.
A common way to deal with this in onboarding is to provide a wrapper script for installing the software, where the user's custom values are provided by the onboarding. For Mender's case this could be something like:
MEN-2315 relates heavily to this Epic, but it is also valuable to have the wizard as a baseline if you are not following the onboarding. It would seem possible to leverage the work in MEN-2315 in this Epic (e.g. "preseed" with the script).
User value (why)
- Easier and faster to install the Mender client
- There is a script that installs the Mender client, using the existing .deb package
- If Mender is already installed, installation is skipped but configuration (the rest below) is still carried out and activated (e.g. restart Mender)
- This is to support cases where Mender is already present as part of the image (but not correctly configured) and the user needs to connect it to a server (same workflow makes it easier). This in turn, could happen if Mender is integrated into the image-level (for system updates).
- Device/architecture compatibility is checked and an appropriate error message is displayed if attempts are made to install on unsupported hardware
- The only required parameter is one of (both can optionally be supplied for Mender Enterprise w/ MT enabled)
- TENANT_TOKEN (for Hosted Mender), OR
- SERVER_IP (for Mender Open Source). NB! Need to handle self-signed certs and IP/SERVER_URL mapping somehow
- Device type is auto-detected for Raspberry Pi (and ideally other popular development boards), otherwise it is set to generic_arm (or the appropriate architecture)
- It is possible to set device type explicitly (i.e. override autodetection)
- Demo settings are used by default
- It is possible to set production settings instead of demo settings (i.e. override default usage of demo settings)
- Onboarding is updated to use this script (instead of the longer commands today, device type in onboarding is removed)
- Mender service is started after configuration is done (from
- A short final message stating Mender has been started and will be available in server within a few minutes, with a link to the URL of the server's pending devices (from