QuickStart Guide
Installation and Deployments

Zerotouch Installation

15min

Note: Zerotouch Installation is available for Litmus Edge version 3.16.1 and later.

Zerotouch provisioning allows you to pre-define a Litmus Edge configuration and use it to deploy edge devices on-site with no additional human input. This provides an efficient and reliable strategy to install hundreds or thousands of edge devices in production environments.

Zerotouch Provisioning in Litmus Edge

The zerotouch provisioning process automates the deployment, activation, and configuration of multiple Litmus Edge devices, including network settings, marketplace applications, and connectivity to Litmus Edge Manager (LEM).

This eliminates the need for any manual configuration, reducing the chance of human error and ensuring consistency across large-scale deployments. It also enables a seamless experience for on-site users, ensuring that devices are fully configured and operational upon first boot.

The zerotouch installation involves three stages:

  1. Pre-configuration to set up USB drive: Prepare a bootable USB drive with the archive of zerotouch configuration files.
  2. Factory Installation: Install and configure the Litmus Edge instance using the USB drive to apply configurations automatically to devices in a production environment.
  3. Post-installation boot up: Verify the setup to ensure that all configurations are automatically applied and the devices are ready to run.

Before You Begin

To start using zerotouch provisioning, ensure you have the following:

  • The edge-zerotouch command-line interface (CLI) tool for generating zerotouch files. This tool is required to create the zerotouch configuration archive. It is available for download from the Litmus Central portal.
  • A Linux computer running Ubuntu 20.04 or higher, with Docker installed. An internet connection is necessary for signing the zerotouch files.
  • A secure and private signing key, which you can request from Litmus customer support. This key is required to authenticate and sign the zerotouch configuration files.
  • A USB drive formatted in NTFS, EXT4, or FAT32. This drive will store the installer and configuration files.

Prepare USB installer with Zerotouch Configuration

By following these steps, you can ensure that Litmus Edge devices are automatically configured upon boot-up without requiring any manual intervention.

Step 1: Create Zerotouch Configuration File

To begin, you will need to create a JSON configuration file. This file defines all the elements that will be pre-configured during the zerotouch provisioning process.

This JSON file includes information such as Litmus Edge Manager activation details, network settings (static IP), and any containerized applications that should run on the edge device.

When creating the file, keep the following in mind:

  • "activation" includes details for activating the device to the Litmus Edge Manager. This ensures that the device is fully integrated with LEM, which manages licenses and deployments.
    • This section includes the LEM URL, activation code, and an optional certificate. The certificate ensures that the connection is secure and authentic. See Activate an Edge Device for details.
  • "staticip" allows Litmus Edge devices to configure their network interfaces automatically.
    • The edge device will configure the eth1 interface with a static IP and gateway.
  • "containers" allows you to specify which containerized applications will be deployed to the device. The parameters {{.ApiKey}} and {{.ImageName}}, if defined, will be automatically populated at run time.
    • {{.ApiKey}}will be automatically populated with a REST API token of the Litmus Edge. This allows your application to access the Litmus Edge's REST API.
    • {{.ImageName}} will be automatically populated with the value defined for name.

Refer to the following sample file.

JSON


Step 2: Generate the Zerotouch Configuration Archive

After creating the JSON file with all the necessary configurations, use the edge-zerotouch CLI tool to generate a zerotouch configuration archive.

This tool takes the JSON file as input, verifies its contents, and creates a compressed and signed archive that will be used during the provisioning process.

Command to Generate Zerotouch Archive

This command points to the configuration JSON file (cfg-sample.json) and uses the signing key to authenticate and sign the archive.

Note: You can request the Signing Key from Litmus customer support.

Text


Sample Output of Command

INFO[02-14|23:06:27] using config file cfg=files/cfg-sample.json INFO[02-14|23:06:27] output directory is not specified INFO[02-14|23:06:27] using output directory output=/tmp/zerotouch INFO[02-14|23:06:40] Done!

Sample Output of File and Directory Structure

After the command is executed, the tool creates a signed .tar.gz archive, which contains all necessary configurations, including static IP settings, LEM activation, and container images.

The final file structure may look like this:

$ tree /tmp/zerotouch /tmp/zerotouch ├── zerotouch-1.0.0.tar.gz

Step 3: Copying Zerotouch Configuration to the USB Drive

Once the zerotouch configuration file has been generated and signed, the next step is to copy it onto the appropriate folder on the USB drive that will be used for installation.

  • Copy the file zerotouch-1.0.0.tar.gz into the USB drive under the folder zerotouch.

The USB drive is now ready to be used for installing Litmus Edge on a device. This configuration includes everything the device needs for setup – activation, network configurations, signing key, and container images – even if the device lacks public internet access.

Install Litmus Edge from USB with Zerotouch Configuration

Within your production or assembly facility, use the USB drive (prepared above) to install Litmus Edge on hundreds or thousands of edge devices. The installer will also copy the custom zerotouch configurations from the USB drive into the edge device.

After installation, the edge device is powered off and ready to be shipped for on-site deployment.

To install Litmus Edge from the USB:

  1. Insert the USB drive into the device you want to install Litmus Edge.
  2. Power on the device.
  3. After the device initiates the installer, respond to the questions in the terminal user interface (TUI). Welcome to Operating System Installer. Are you installing over Serial (for advanced users)? Yes/No :
  4. Enter No, and then press ENTER. The Zerotouch Preboot message displays.
  5. Press ENTER for Ok.

    Zerotouch Preboot message
    Zerotouch Preboot message
    
  6. Select Install Operating System, and then select OK.

    Use the arrow keys to navigate to selections.

    Install Operating System option
    Install Operating System option
    
  7. From the Select Partition and Install dialog box, select the correct installation location, navigate to Ok, and press ENTER.
  8. Confirm the selected location and select Yes.

    Confirm selected location
    Confirm selected location
    
  9. Confirm that the selected device will be erased during the formatting process. Select Yes.

    Warning message for installation
    Warning message for installation
    
  10. Select Yes to power off the device.

    Power off notification
    Power off notification
    

The device is now ready to be shipped for deployment.

On-site Bootup

Once the device is deployed to the end-user’s site, the final step is to boot the device and verify that the zerotouch configurations are applied correctly.

Step 1: Power On the Device

The end-user can simply power on the device. No additional setup is required at this point, as the configurations have already been pre-defined in the zerotouch file.

Litmus Edge will start running. The terminal window displays the URL that must be used to access the device using the Web UI.

If several URLs are displayed, use the first one. See Access the Litmus Edge Web UI for more information.

Step 2: Verifying the Configuration

After boot-up, the device will automatically apply all the settings stored in the zerotouch configuration file. The end-user can log into the Litmus Edge Web UI to verify that the following are set up correctly:

  • The device has been successfully activated to LEM and is showing as connected. See Activate an Edge Device for more details.
  • The static IP has been applied to the correct network interface.
  • The containers are running, and any specified integrations (such as device hubs or connectors) are properly configured.
Verifying the Configuration on Litmus Edge Device
Verifying the Configuration on Litmus Edge Device


Note: After the first boot, any docker images and associated containers specified in the zerotouch configuration file may take some time to display in the Litmus Edge UI.