Hosting
Custom-built Management Dashboard extensions and cloud functions can be hosted by Emporix. Use the central management space to set up, deploy, and monitor the external components.
Custom Management Dashboard extensions and cloud functions extend the Emporix platform with tailored logic and integrations. To deploy and run these solutions, you need a reliable hosting environment — Emporix provides exactly that with its built-in, scalable hosting functionality.
The Hosting view of the Management Dashboard provides a single touchpoint to manage anything related to the hosting of extensions and cloud functions. Instead of running your own cloud infrastructure, use this view to create a hosting project, define how the extension / cloud function is exposed, deploy new versions, delete cloud functions, and monitor usage and activity. Everything is handled within the Emporix environment, based on a standardized, secure hosting model.
Create a project
When you want to host any resource on the Emporix side, first you need to initialize a project as a one-time action.
Set up a project
Go to the Administration -> Hosting to start your project configuration. Choose the Initialize project action.

The initialization takes a few minutes to complete. When the process is done, the project gets assigned with a unique Project ID. You can now start adding custom extensions and cloud functions to be hosted by Emporix.

Managing extensions hosting
Extensions are custom add-ons that extend the Emporix Management Dashboard with new modules or perspectives. Use the Hosting view to deploy, manage, and monitor your extensions directly within the Emporix environment.
Prerequisites
Ensure your extension is built in a format compatible with the Emporix Management Dashboard. Extensions must follow the MD extension template that is based on the module federation concept to be accepted by the hosting environment. For more information, refer to the MD Module Template repository.
Host an extension
Follow these steps to host a custom extension.
Configure the hosting details
Provide the hosting details:
Hosting ID - Provide a unique identifier of the hosting. The ID becomes part of the hosting URL and is limited to 41 characters. The tenant name, a hyphen, and this ID together must remain within the 63-character limit for a hostname label .
Extension registration - Choose where to place the extension - it can be available either as an extension (module) or as a perspective in the Management Dashboard.
Display names - Enter the localized names for the extension to display in the UI.
Path URL - (For perspectives only) Define the URL path where the extension is available at; it starts with the
/.

When done, choose Create to save the configuration.
Go to the hosting details
Open the card with the details of the created hosting.

The details view allows you to monitor the extensions usage metrics as well as to check the build details and upload new versions. The first time you come here, the view is empty.

Deploy the extension
Choose the New deployment to upload the extension. You have a few options for adding the extension:
GitHub - Deploy from a repository.
Provide the URL, token and relevant branch.
Upload - Attach and upload an archive with the extension.
Select
ziportar.gzfrom your device.
Confirm the extension upload with the Deploy action.
Build an extension
After the upload, the system triggers the extension build process. You can monitor the progress of the build steps.
If there is any technical obstacle, the build fails.

When everything is correct, the build ends successfully.

You can see the details such as the Deployment ID and timeline.
The successful build pushes the extension to the release state — you see that the version appears under the Releases section labelled as Current and Finalized.

The release results in pushing the extension to the Management Dashboard Extensions module or Perspectives — depending on your initial setup. You can start using the hosted extension straightaway.
Deployment lifecycle
To update your custom extension with new logic or provide technical fixes, deploy a new version.
Go to the selected extension hosting details and choose the New deployment. Then, upload the updated file either from a GitHub repository or directly from your device.
Each time you deploy a new version of an extension, a build is triggered. All the builds are visible in the Build History. Build details include deployment ID, build ID, status, and timeline.
Monitor extensions metrics
The Hosting view allows you to control the usage related to hosting extensions. The usage is a basis for the hosting costs calculation. You get insights into the following data:
Storage usage - Total storage volume (in MB) currently used by your hosted extensions.
Network bandwidth - Total data transfer volume (in MB) related to network usage.

Managing cloud functions hosting
Cloud functions are serverless pieces of custom logic that can be triggered by events, APIs, or other platform processes. Use the Hosting view to deploy, manage, and monitor your cloud functions directly within the Emporix environment. You can also use hosted cloud functions as tools on a dynamic MCP server, so AI agents can call your custom business logic.
Prerequisites
Prepare a cloud function that contains the business logic corresponding to your needs. To see the example of a cloud function structure, refer to the Extension and Cloud Function Hosting.
Hosting list
Hosted cloud functions and extensions appear as cards by default. Select Table view when you need to sort or filter a longer list. For cloud functions, the browser address keeps the table layout. If you open a function, select Back to hostings list to return to the same table. Select Card view to return to cards. Card view does not keep the table layout in the browser address.
The Author column shows who created the function. Select Calls in last 30 days to switch to Table view and add a Calls (30 days) column. The column shows how many times each function was called in the last 30 days. The column starts with the lowest counts. Select the column header to reverse the order. In Filter by calls, enter an exact count. 0 shows functions with no calls. Open a row to go to the details view.

Host a cloud function
Follow these steps to host a custom cloud function.
Configure the hosting details
Provide the hosting details:
Function ID – Enter a custom ID if you want to define one. Use only lowercase letters, numbers, and hyphens.
Function name – Enter a display name. This field is required. The hosting details view shows this value as Display name.
Runtime – Select an available runtime.
Description – (Optional) Enter a localized description of the function.
Tags – (Optional) Add tags to help find the function later. Tags use letters, digits, hyphen, and underscore, and cannot contain spaces. The hosting list table includes a Tags column.

When done, choose Create to save the configuration.
Open the hosting details
Open the card for the created cloud function. The card and the details view show Function ID and Display name as separate fields. Copy Function ID before you invoke the function or map a tool. The first time you open the details view, no custom code is uploaded yet. Use the details view to monitor the hosted cloud function and upload the custom code.

On the details view you can also edit or clear the Description and Tags. Display name and Runtime stay as they were set when you created the function. Display name comes from Function name when you create the function. Use Discard to cancel unsaved changes, or Save to keep them.

Deploy a cloud function
Choose the New deployment option to add the cloud function code. You have a few options for adding the cloud function:
GitHub - Deploy from a repository.
Provide the URL, access token and relevant branch.
Upload - Attach and upload an archive with the cloud function.
Select
ziportar.gzfrom your device.
AI Cloud Function – Select this source to generate or edit the function with the Cloud Function Assistant.
This option uses the Cloud Function Assistant helper agent. If the assistant is not enabled yet, the first time you select AI Cloud Function, you are prompted to enable it. Select Enable Cloud Function Assistant. You need the ai.agent_manage permission. You can also enable it from Predefined Agents in the AI Agent Library. Once enabled, the assistant remains available in the library.

After the assistant is enabled, describe the function in the AI assistant tab, then choose Send. Open the Code tab to review the generated files.

For a Node.js package, you can select Test before you deploy. In the Test cloud function dialog, set the HTTP method and optional Headers, Query params, Path params, and Body, then select Run. The run uses the package in a browser sandbox. It is not a live invocation of the hosted function.

Confirm the deployment with Deploy.
Build a cloud function
After the upload, the system triggers the cloud function build process. You can monitor the progress of the build steps in real-time. The successful build ends after a few minutes.

You can see the details such as the Deployment ID and timeline of the steps.
The successful build prepares the cloud function to be exposed in the Partner Library, used within custom integrations through an API, or attached as a tool on a dynamic MCP server.
Deployment lifecycle
To update your custom cloud function with new logic or provide technical fixes, deploy a new version.
Go to the selected hosting details and choose the New deployment, then upload the updated file either from a GitHub repository or directly from your device.
Each time you deploy a new version of a cloud function, a build is triggered. All the builds are visible in the Build History. Build details include deployment ID, build ID, status, timeline, and the deployer's first and last name when that name is available.
For an uploaded package:
Redeploy – On the build row. Confirm to create a new deployment from the same package. The original row stays.
Preview – After you expand the row, open a read-only file tree and source.
Download – After you expand the row, download the package.


For a GitHub deployment, Redeploy is disabled. Download and Preview are not offered on GitHub rows.
Extensions continue to use Rollback from Releases. Cloud functions do not support rollback from Releases. To deploy a previous version of a cloud function, use Redeploy on the corresponding uploaded package.
Delete a cloud function
To remove a hosted cloud function you no longer need, choose Delete on the cloud function card (next to Copy function ID) or in the details view (next to Environment variables). Confirm the deletion in the dialog that shows the function name. After you confirm, the function is no longer on the hosting list.
Monitor cloud function resources usage
Overall hosting costs for cloud functions are calculated based on the usage metrics below. In the Hosting view, you see the following charts:
Requests - Number of requests triggered by the cloud function.
Request latency - Average latency time (in milliseconds).

Logs
The hosting details of a particular cloud function show the full logs of how and when it is being invoked in the system. You can monitor the operations with the cloud function and see their outcomes.

Last updated
Was this helpful?


