As a normal user of the Designsafe tenant, you have permissions to build and deploy private apps only. Private apps are, by default, only visible to you. To share an app with your colleagues, follow the steps below.


Update permissions on an app

Assuming you have the private app fastqc-username-0.11.5 (developed elsewhere in this user guide), you can check who has permission to access the app with the following command:

% apps-pems-list fastqc-username-0.11.5
username READ WRITE EXECUTE

(Replace username with your TACC username). By default, as creator of the app you are the only with with access, and you have +rwx permissions.

Next, identify the TACC username of the user with whom you would like to share your app. (See this page for help). Given the username my_collaborator, grant that user permissions with:

% apps-pems-update -u my_collaborator -p ALL fastqc-username-0.11.5
Successfully updated permission for my_collaborator

# list permissions again
% apps-pems-list fastqc-username-0.11.5
username READ WRITE EXECUTE
my_collaborator READ WRITE EXECUTE

Ask your collaborator to perform the apps-list command, and they should now be able to see your app.


Update permissions on an execution system

Before your collaborator can run a job with your app, they must also have correct permissions on the app execution system. If you built your app to use one of the public execution systems (e.g. hpc-tacc-maverick), then no more changes should be necessary. If you built your app to use a private execution system (e.g. hpc-tacc-maverick-username), then you must also grant your collaborator the correct permissions on that system.

Tip: The app execution system is listed in the app.json file, or can be found by issuing ‘apps-list -v app-name | grep executionSystem’.

Elsewhere in this user guide we deployed our private app on our private exection system, hpc-tacc-maverick-username. Use the systems-roles-list command to see who can access it:

% systems-roles-list hpc-tacc-maverick-username
sd2eadm OWNER
username ADMIN

Grant your collaborator USER access with the following:

% systems-roles-addupdate -u my_collaborator -r USER hpc-tacc-maverick-username
Successfully updated roles for user my_collaborator on hpc-tacc-maverick-username

# list permissions again
% systems-roles-list hpc-tacc-maverick-username
sd2eadm OWNER
username ADMIN
my_collaborator USER

Ask your collaborator to perform the systems-list command, and they should now be able to see your private system. Now, your collaborator can run jubs against your private app using the same job.json file and jobs-submit commands as you.


Publish the app globaly

Normal Designsafe users do not have the appropriate permissions to publish an app globally. If you have deployed and tested an app, and are happy with its behavior, please contact Designsafe staff and an admin will assist you.


Return to the API Documentation Overview