Uploaded image for project: 'Mender'
  1. Mender
  2. MEN-2763

Easily installing Mender client on Debian family



    • Type: Epic
    • Status: Rejected
    • Priority: (None)
    • Resolution: Won't Do
    • Affects Version/s: None
    • Fix Version/s: None
    • Labels:


      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:

      wget https://... mender-install.sh && sudo ./mender-install.sh $TENANT_TOKEN (or $SERVER_IP)

      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

      Acceptance criteria

      • 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 MEN-2315)
      • 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 MEN-2315)


          Issue Links



              a10041 Michael Clelland
              a10053 Marcin Pasinski
              0 Vote for this issue
              1 Start watching this issue