Zerotouch Installation
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.
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:
- Pre-configuration to set up USB drive: Prepare a bootable USB drive with the archive of zerotouch configuration files.
- Factory Installation: Install and configure the Litmus Edge instance using the USB drive to apply configurations automatically to devices in a production environment.
- Post-installation boot up: Verify the setup to ensure that all configurations are automatically applied and the devices are ready to run.
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.
By following these steps, you can ensure that Litmus Edge devices are automatically configured upon boot-up without requiring any manual intervention.
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.
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.
Sample Output of Command
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:
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.
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:
- Insert the USB drive into the device you want to install Litmus Edge.
- Power on the device.
- 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 :
- Enter No, and then press ENTER. The Zerotouch Preboot message displays.
Press ENTER for Ok.
Select Install Operating System, and then select OK.
- From the Select Partition and Install dialog box, select the correct installation location, navigate to Ok, and press ENTER.
Confirm the selected location and select Yes.
Confirm that the selected device will be erased during the formatting process. Select Yes.
Select Yes to power off the device.
The device is now ready to be shipped for deployment.
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.
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.
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.
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.