Share an App with Others¶
As a standard user of Tapis tenants, 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 a private app called taccuser-fastqc_app-0.11.9
(developed
earlier
in this how-to guide), you can check who has permissions to access the app with
the following command:
$ tapis apps pems list taccuser-fastqc_app-0.11.9
+----------+------+-------+---------+
| username | read | write | execute |
+----------+------+-------+---------+
| taccuser | True | True | True |
+----------+------+-------+---------+
By default, the creator of an app is the only one with read, write, or execute privileges. Next, identify the tenant username of the user with whom you would like to share the app.
Tip
See this page for an example on how to find another user’s username
Given the username jdoe
, grant that user permissions with:
$ tapis app pems grant taccuser-fastqc_app-0.11.9 jdoe ALL
+----------+------+-------+---------+
| username | read | write | execute |
+----------+------+-------+---------+
| taccuser | True | True | True |
| jdoe | True | True | True |
+----------+------+-------+---------+
Ask your collaborator (jdoe
) to perform the tapis apps list
command, and
they should now be able to see your app.
Update Permissions on an Execution System¶
Before your collaborator (jdoe
) can run a job with your private app, they
must also have correct permissions on the execution system associated with the
app.
# Find the execution system associated with your private app
$ tapis apps show -c executionSystem taccuser-fastqc_app-0.11.9
+-----------------+-------------------------+
| Field | Value |
+-----------------+-------------------------+
| executionSystem | tacc.stampede2.taccuser |
+-----------------+-------------------------+
# List permissions on the execution system
$ tapis systems roles list tacc.stampede2.taccuser
+----------+-------+
| username | role |
+----------+-------+
| taccuser | OWNER |
+----------+-------+
# Grant 'USER' permission to your collaborator
$ tapis systems roles grant tacc.stampede2.taccuser jdoe USER
+----------+-------+
| username | role |
+----------+-------+
| taccuser | OWNER |
| jdoe | USER |
+----------+-------+
Ask your collaborator to perform the tapis systems list
command, and they
should now be able to see your private system. Now, your collaborator can run
jobs against your private app using the same job.json
file and
tapis jobs submit
commands as you.
Publish the App Globally¶
Standard users do not have the appropriate permissions to make an app public, thereby sharing it with all users on the tenant. If you have deployed and tested an app, and think it would be of general use to the community, please contact your tenant admin to ask for information on publishing your app.