Introduction
This article describes how to add a module as an edge application type. All the types are described in the Manage an Edge Application article. This is a series of articles. You will likely follow them in this order.
- Edge Application Overview
- Manage an Edge App Image
- Manage an Edge Application
- Deploy an Application Instance
Prerequisites
- You have the SysManager role in your enterprise.
- Ensure the application details are stored in a place the edge node can access. Check Data Stores for details.
- An Edge App Image is required.
Configure the Identity
- Log in to the ZEDEDA GUI.
- Hover over Marketplace on the left panel.
- Select Edge Apps from the options.
- Click on the + icon to create a new edge app.
- Select Module as the Edge App Type.
- Continue on to the identity details.
Identity details
- Fill in the following:
-
-
- Edge App Logo: Upload a logo.
- Name: This value can't be changed later.
- Title: This value is for flexibility. You can change it at any time.
- Description: You can use this to help other admins understand the purpose of the app or any important details about the app.
- Category: Select the category that best describes the app. If no category describes the app, you can type one of your own and that category is created.
- Version: Provide the version of your edge application.
-
Azure runtime Module = Yes: Indicates that your edge application is designed to leverage Azure services or functionalities, such as remote management or data processing. Select a Module Type:
-
$edgeAgent:
• This is a module responsible for managing the deployment and lifecycle of other modules on the IoT Edge device. It downloads, starts, stops, updates, and monitors the status of other modules as defined in the IoT Edge deployment manifest.
• For orchestrating modules on the edge device and ensuring that the specified modules are running as expected. -
$edgeHub:
• This module acts as the local IoT Hub on the edge device. It handles communication between edge modules, provides connectivity to the IoT Hub in the cloud, and enables offline functionality by caching messages when the device is offline.
• For secure data transfer, message routing between modules, and maintaining data flow to the cloud when connectivity is restored.
-
$edgeAgent:
- Add a License: Helps users understand the terms under which they can use, modify, or distribute the application. It can also affect how the application interacts with other components in the ZEDEDA ecosystem.
-
Configure the Drives
After configuring the identity, configure the resources and drives.
-
- Enable CPU Pinning: Bind specific virtual CPUs to a particular application or workload. This can enhance performance by ensuring that the app constantly runs on the same CPU cores, which reduces context switching and cache misses for latency-sensitive tasks.
- Choose an existing image or upload one as instructed in our guide to Edge App Images.
- Click the + to add more images.
- Select one or more Projects to associate with the edge app.
- Click Next.
Configure the Container Options
After you configure the drives, configure the container options.
- Configure the Container Options Template for module containers at runtime. This includes control over resource access and networking configurations.
- This is often in JSON or YAML. The syntax will depend on the specific settings you want to configure for Azure IOT Edge Module, based on how to configure container create options for IoT Edge modules.
- Click Next.
Configure the Module Deployment Details
After you configure the drives, configure the module deployment details.
-
- Configure the Module Deployment Template: You can deploy modules on Azure IoT devices using a deployment manifest, which allows for multiple routes and environment variables in a single setup. Each module has a settings section with the module image, container image address, and startup configuration options.
JSON Example{ SendData: true, SendInterval: 5 }
-
Routes: You can specify routes and declare routes for communication between modules, the IoT Hub, and leaf devices. Routes with the same priority are processed in the order they arrive. Routes without a specified priority get the lowest priority.
-
Name: Name of the route you defined in the Azure IoT Hub Routes tab.
-
Details: Value you defined for the route name in the Azure IoT Hub Routes tab.
-
-
Environment Variables: You can define key-value pairs to configure settings and parameters for your application at runtime, rather than hardcoding them.
-
Click Next.
- Configure the Module Deployment Template: You can deploy modules on Azure IoT devices using a deployment manifest, which allows for multiple routes and environment variables in a single setup. Each module has a settings section with the module image, container image address, and startup configuration options.
Configure the Developer Info
After configuring the module deployment details, configure the developer info.
Note the following fields.
-
Agreement: A place to include specific agreements about services offered or standards complied with.
- Custom Upload - Upload a file (typically a PDF or a text document) containing an end-user license agreement or terms of service or similar to display in the GUI.
- Custom URL - Provide a web address where an agreement (such as an open-source license or data privacy policy or similar) is hosted online.
- Support Description: Add relevant support contacts or instructions.
- Click the Add button to add the edge application.
- Click Next.
Review & Add
After configuring the developer info, review and add your app.
- Review the information.
- Click Add.
- Verify your new addition by checking for it in the ZEDEDA Marketplace.
Next steps
This is a series of articles. You will likely follow them in this order.
- Edge Application Overview
- Manage an Edge App Image
- Manage an Edge Application
- Deploy an Application Instance