Skip to main content

Integrating with External Apps

External Apps are traditional web applications that run outside of Edge, but which are registered on Edge and have an application tile on the workbench.

Clicking on the application tile in Edge redirects users to the app's original URL. If a user enters the URL for the app directly in their browser or clicks on the application tile the app will perform login with Edge, redirecting them to Edge's login screen if necessary.

Why integrate external apps with Edge?

Registering external apps allows you to better centralize and track your R&D workflows, resulting in the following benefits:

  • Provide a single location to access all data, notebooks, and applications on a project. This makes onboarding new team members significantly easier, and team members spend less time hunting down data, documents, and URLs.

  • Track usage for native apps as well as the external apps that run in the Edge Kubernetes namespace. By keeping you on top of your cloud footprint on a single dashboard, you can manage available computational resources and avoid overdrawing from a limited budget.

  • Makes it easier to comply with organizational, institutional, or governmental data policies and prevent loss of data or intellectual property through the use of unsecured data channels or applications.

Add an External App to the Workbench

Step 1: Create an Application Record

In the Edge Workbench, access the Settings page via the "gear" icon in the upper right-hand corner:

gear

Then, click "Create Application". You will need to provide a short identifier. This isn't user-visible, so something like my-app-id is appropriate. Finally, click "Save App":

new app

Step 2: Create an Application Version record

The "Application Version" record is used to locate the app. It has the text and icon that will be displayed on the workbench tile.

Click "Create Version", and fill in basic information on your app. Be sure the "Kind" value is set to "Externally-Hosted App".

new external app

Verify that the tile shows up on the Workbench:

external app tile

tip

Your app will be created with the "In Review" status, which means it's visible only to other developers. When you're ready, ask your organization admin to "Approve" the app, making it visible to everyone.

Secure your app

Because your app runs outside of Edge, it doesn't automatically benefit from Edge's authentication/authorization machinery. As with any web application, it's important to restrict who can access the app and what they can do once logged in.

Many good options exist for adding auth support for an external app, and Enthought has extensive experience with lightweight solutions like authentication proxies. We recommend reaching out to Enthought Support (or your existing contact, if you are a consulting customer) to discuss alternatives.

Deployment

There are many ways to deploy an External App. Our example is deployed using Terraform. If you wish to use the application code and deployment configuration as a template, you will require a Kubernetes namespace for deployment. To configure your deployment, follow the instructions in the Edge External App example's README.