Dashboard Applications#

Dashboard Applications are lightweight applications hosted on Edge. Like Native Applications, they are containerized web applications that are launched as instances for each user, integrate with Edge authentication, and have access to Edge resources. Dashboards are hosted on a smaller Dashboard Compute Profile that is designed to remain continuously running once launched. They are well suited for serving dynamic metrics displays and plots, as well as performing low-latency, low-compute tasks.

Authoring Dashboard Applications#

The Edge Dashboard App Example provides a convenient template for developing Dashboard Applications. It consists of a Flask backend, React frontend client with plotly.js and CI tools. The authoring process is very similar to Native Applications.

The major difference between Native and Dashboard Applications are that Dashboards should be published with the edge.dashboard Compute Profile as the recommended profile. This Compute Profile allocates 0.25 Gigabytes of memory and half of a CPU. The following code should be used during AppVersion registration:

version1 = AppVersion(
    app_id=app.app_id,
    version="1.0.0",
    title="Dashboard App Demo, v1.0.0",
    description="Demonstration of a Dashboard application",
    icon=ICON,
    kind=AppKindEnum.Native,
    link="quay.io/enthought/edge-dashboard-demo:latest",
    recommended_profile="edge.dashboard"
)
edge.applications.add_app_version(version1)

The edge.dashboard profile is inexpensive. Instances launched with this profile can be kept continuously running for a user once launched. If a user has previously launched a Dashboard, they may access it again. Edge will skip the provisioning process and redirect the user to their previous instance.