App Sharing¶
Overview¶
- System installed by admin for everyone to launch (access control via file permissions)
- Source Code Sharing (share code, launch your own copy of an app). This is like how the Job Composer works, or how many groups collaborate when using HPC: they share their job scripts and code, and use their own copies to submit jobs.
- Executable Sharing (peer to peer) is where a user deploys an app in their home directory that other users can launch. This is similar to adding to your PATH the bin directory of another user.
The rest of this document addresses OnDemand’s support for Executable Sharing.
Warning
Executable sharing means the app and all its code runs as the user executing it, like everything else in OnDemand. User’s might not realize this. We currently do not provide an opt in screen warning users that this app “will have permission to do everything on their behalf and act as them”. As a result, you should fully trust whoever you enable to do share apps using executable sharing.
Demo¶
This is with two users Eric (efranz) and Bob (an0047).
Eric has a dev app “Matlab”, and interactive plugin app. Eric can
- Launch Matlab
- View and Edit the code
Bob (an0047) cannot see this app because it is isolated in Eric’s “Sandbox”
i.e. ~efranz/ondemand/dev/matlab
:
If Eric shares the git repo path or URL with Bob, Bob can clone this into his home directory if he is enabled as a developer. This is called “Source Code Sharing”.
Eric can share this app with Bob by selecting “My Shared Apps” and cloning the Matlab
repo to deploy ~efranz/ondemand/share/matlab
Now when Bob accesses the OnDemand home page he sees Eric’s MATLAB app and can launch it:
Enabling App Sharing Dashboard¶
- To enable App Sharing in the Dashboard, set
OOD_APP_SHARING=1
in/etc/ood/config/apps/dashboard/env
. - Set
OOD_DASHBOARD_SUPPORT_EMAIL=your@email.edu
to add a link to support for finding an app. - Set
OOD_APP_CATALOG_URL=https://link.to.online/app/catalog
to link externally to an advertised listing of apps available.
Enabling App Sharing in the dashboard serves two primary purposes:
- For shared app users, provide an interface to launch those apps
- For app developers, provide an interface to help manage shared apps
Currently this significantly changes the interface of the Dashboard. The MOTD moves to the right of the screen and shared apps appear below the welcom logo and text.
Before:
After:
Known Issues¶
This is being documented as is. There parts of this feature that work well at OSC but may need fixed before working at another center.