Introduction
Application Profiles let you automate the deployment of applications to fleets of nodes using the Edge Infrastructure Services API or the Terraform Provider for ZEDEDA Cloud. This feature is not available in the Edge Infrastructure Services console — it is an API and Terraform-only capability. Three objects work together to define and deliver fleet-wide deployments:- An App Profile bundles an application, its network configuration, and volume settings into a single reusable definition.
- An Asset Group groups a set of nodes within a project.
- A Deployment Profile associates a specific App Profile version with an Asset Group and triggers the rollout.
Prerequisites
- You have the SysManager or SysAdmin role in your enterprise. See Manage Roles.
- At least one node is onboarded, online, and assigned to a project.
- At least one edge app image exists in the Build section.
- The datastore containing the app image is accessible from all target projects.
- If the App Profile defines network settings, compatible network instances are already created or can be created on the target nodes.
- If the App Profile defines volume settings, compatible volume instances are already created or can be created on the target nodes.
How App Profiles Work
App Profile
An App Profile defines the application stack. It includes app policies (the application configuration and manifest), network policies (virtual network configuration), and volume policies (storage configuration). Every change to an App Profile increments its version automatically. The version is used in the Deployment Profile to specify which version of the stack to deploy. Version increments that include an image or cloud-init change require a purge operation on the application instance. Other changes apply without a purge.Asset Group
An Asset Group is a logical grouping of nodes within a project. Each node belongs to at most one Asset Group. You can define the group by explicit device IDs, by tags (for example,region=east, type=retail-store), or by a combination of both.
Using tags is recommended for dynamic fleets where nodes are added frequently, because new nodes that match the tag criteria are automatically included in the Asset Group without requiring a manual update.
Deployment Profile
A Deployment Profile associates a given App Profile version with an Asset Group. Creating or updating a Deployment Profile triggers Edge Infrastructure Services to deploy the specified App Profile version to every node in the Asset Group. There is no per-device trigger required.Manage with API or Terraform
See the App Profiles Service API documentation for information about creating, retrieving, updating, and deleting App Profiles, Asset Groups, and Deployment Profiles via REST. See the App Profile Terraform Provider documentation for information about managing these objects with the Terraform Provider for ZEDEDA Cloud.Example
Consider a scenario where you want to deploy an Nginx web server to all nodes in your east coast retail stores. Step 1: Create an App Profile. Define an App Profile namedweb_server_app_profile that includes an app policy for the Nginx container, a network policy for a local virtual network on port 111 with DHCPv4 addressing, and a volume policy for the application’s content volume.
Step 2: Create an Asset Group.
Define an Asset Group named retail_store_nodes_east within your retail project. Target the nodes by their device IDs, or by tags such as region=east and location_type=retail-store to automatically include any future nodes that match those tags.
Step 3: Create a Deployment Profile.
Define a Deployment Profile named deploy_web_profile_east_retail that references version 1 of web_server_app_profile and targets retail_store_nodes_east. Edge Infrastructure Services immediately begins deploying the app to every node in the Asset Group.
Updating the app:
When a new version of the Nginx image is ready, update the App Profile. The version increments automatically. Update the Deployment Profile to reference the new version to trigger a fleet-wide rollout.
API Example
The following examples show the structure of each object. Customize the values for your environment before using them.App Profile
Asset Group
Deployment Profile
Terraform Example
The Terraform Provider for ZEDEDA Cloud provides corresponding resource types for all three objects. The App Profile resource also depends onzedcloud_datastore and zedcloud_image resources.
Next Steps
Deploy an Application Instance
Deploy individual instances through the console.
Manage an Application Instance
Check the status of deployed instances.
Deploy AI Applications to a Fleet of Nodes
A use case walkthrough that combines console and API approaches.