Prerequisites
- You have the SysManager or SysAdmin role in your enterprise. See Manage Roles.
- For manifest import: you have a valid edge application manifest JSON file.
- For creating Virtual Machine, Container, or Module type applications: you have at least one app image available in Build. See Create and Manage an App Image.
Import from a Manifest File
A manifest JSON file can define any application type. You can author one from scratch, or export an existing edge application’s manifest to use as a starting point.- In the sidebar, select Marketplace.
- Select My Library (or select Open library on the Marketplace home page).
- On the All filter tab, select the Import manifest floating action button (upload icon in the bottom-right corner).
- Upload your manifest JSON file. The application type is detected automatically from the manifest.
- The full edge application creation wizard opens, pre-filled with the data from your manifest. Review and adjust any fields across the wizard steps as needed.
- If the manifest contains items the wizard cannot map (such as unsupported interface access control rule actions or license files) a notification appears listing what was skipped. Re-add those items manually before creating the application.
- Select Create at the Review step to import the application into your library.
Create a New Edge Application
- In the sidebar, select Marketplace.
- Select My Library.
- On the All filter tab, select the + floating action button in the bottom-right corner. If you have permission to create both edge applications and hardware models, choose Edge Apps from the menu.
-
Select the application type:
The New Edge App wizard opens. Select Back to app types if you chose the wrong type.
-
Complete the wizard steps for your application type. The following table lists the steps in order. Each step is described in the sections that follow.
- On the Review step, check each section and select Create Edge App.
Edge app created successfully and returns to My Library. If the name is already in use, the console shows A edge app with this name already exists and the app is not created.
Identity step
Module type apps also show the Azure Runtime Module checkbox. Select it if this module is one of the Azure IoT Edge system modules, then choose Edge Agent or Edge Hub in Module Type. When this checkbox is selected, the Container Options and Module Deployment steps are managed automatically and show no fields.
Docker Compose type apps also show Container Registry Datastore, where you select the datastores that hold the container images referenced by your Compose file, and Projects, where you can limit the app to specific projects. Leave both unselected to allow all datastores and all projects.
Expand Additional Configuration to set the optional Version (for example
1.0.0), Category, and License. For a license, select a standard license from the list, enter a Custom URL, or select Upload File to upload a .txt file of 5 MB or less. Select Add another license to list more than one.
Features & Sizing step
This step is shown for Container type apps. For Virtual Machine type apps, the same step is named Resources & CPU. Under Features, turn on the capabilities the app needs:
Under Sizing, select a preset or Custom (the default) and then set the resource fields:
Below the sizing fields, the CPU placement panel sets the default CPU placement policy for new instances of the app. Select a CPU pool (Housekeeping, Dedicated, or Isolated). For Dedicated or Isolated, also select a Core allocation (Dedicated logical CPUs, One thread per core, or Both SMT threads per core) and, optionally, expand Advanced placement settings to set Memory locality. You can change this policy after creation, and each application instance can override it. See CPU Placement for Application Instances.
Definitions step
This step is shown for Docker Compose type apps.- In Import Type, select YAML or TAR Image. The two options are mutually exclusive, and only the selected definition is saved.
- For YAML, paste the contents of your
docker-compose.yamlfile in Compose YAML. - For TAR Image, select an existing image in TAR Image. The image must already exist in Build as a TAR bundle that contains the Compose file and its assets. You cannot continue until an image is selected.
Drives step
This step is shown for Virtual Machine, Container, and Module type apps. Each drive card has a summary header that shows the image, size, encryption, and purge settings. Select Add Drive (or Add Image for Module type apps) to add another drive. You cannot remove the last drive. For Virtual Machine type apps, select a source for each drive:- From Image boots from an app image stored in Build. Select the image in Image. If Deployment Type is Compose Runtime, the list shows only compose runtime images.
- Empty Disk allocates blank block storage without an image.
Module type apps also show a single CPU Pinning feature tile on this step. Module apps do not support the CPU placement policy.
Interfaces step
This step is shown for Virtual Machine and Container type apps. Turn off Configure network interfaces if the app needs no network access. Otherwise, the step starts with one interface namedeth0. Select Add Interface to add more.
For Virtual Network interfaces, define access control rules. All outbound traffic is blocked and no inbound connections are allowed until you add a rule.
- Outbound Rules: enter the Host / IP (an address or CIDR), Protocol (Any, TCP, or UDP), Port (Any or Custom), and Action (Allow or Limit). For Limit, set the Rate and Burst.
- Inbound Rules: enter the Source IP, Protocol (TCP or UDP), Node port, Adapter label, and Action (Map or Limit). For Map, set the App port that the node port forwards to. Ports must be in the range 1 to 65535.
Container Options step
This step is shown for Module type apps. Enter a Docker container create options object as JSON in Container Options Template, for example{ "HostConfig": {} }. Leave it empty to use the defaults. This step shows no fields when Azure Runtime Module is selected.
Configurations step
This step is shown for Virtual Machine, Container, and Docker Compose type apps. Use it to define configuration that operators fill in when they deploy an instance. See Custom App Configuration for the template format. Turn off Include custom configuration template (or Add Custom Configuration for Docker Compose type apps) if the app needs none. Otherwise:- Enter a Configuration Name. Spaces are not allowed.
- For Virtual Machine and Container type apps, choose whether to Allow deployments to override entire configuration. If you leave this off, enter the Configuration Template and the Delimiter that marks variables in it, for example
%%. The wizard lists the Detected variables it finds in the template. For Virtual Machine type apps, you can also select Allow Storage Resize. - Turn on Configure Variable Groups to define typed variables. Each group has a Group Name and a Visibility of Show Always or Conditional. For each variable, set the Name, Display Title, Type (Text, Password, Dropdown, Boolean, or File), whether it is Required, and the type-specific fields such as Default Value, Max Length, Options, or Encoding.
Module Deployment step
This step is shown for Module type apps. It shows no fields when Azure Runtime Module is selected.Developer Info step
Review step
The Review step summarizes Identity, Sizing (or the Compose definition and datastores for Docker Compose type apps), Drives, Module Deployment for Module type apps, Interfaces, Configuration, and Developer. Select Back to change a step, or Create Edge App to create the app.Verify the Result
The new application appears in My Library under the Edge Apps filter tab. Select it to open the detail page and review drives, interfaces, and configuration before deploying.Next Steps
My Library
View and manage all imported and created resources.
Edge Apps
Browse the catalog for additional apps to import.
Deploy an Application Instance
Deploy an imported edge application to a node or fleet.