Developing apps in an enterprise account

BaseSpace Sequence Hub supports collaboration on developing native apps. Apps can be owned by a workgroup, and individuals in the workgroup can collaborate to create the app. There are some caveats however, due to the docker service authentication detailed below.

Docker

We recommend when creating native apps that you use our docker service, docker.illumina.com. That service allows you to host your docker containers securely, for free, within the BaseSpace system using your login.illumina.com username and password. You may also use a publicly accessible docker image hosted on docker hub (hub.docker.com).

Docker only supports username/password authentication, users of Single Sign On (SSO) or SAML who authenticate with BaseSpace using their own authentication system cannot log in with those credentials to the docker service. If you are using SSO should create a second, non-enterprise BSSH account (Basic/Free tier accounts are fine) using a username and password on login.illumina.com for authentication purposes. We suggest creating a service account tied to a valid corporate email address you are able to receive email on, e.g. basespacedocker@example.com. The password for this account will only have access to the non-enterprise account, it will not be able to see data on your enterprise account (unless you add it to a collaborative workgroup), or run apps once the free-trial period expires. You can share the password for that account with members of the development team who need direct docker access to push new images. Because the corporation "owns" the email, they can initiate password reset requests on a regular basis to keep the credential secure.

Setup

  1. If using SSO, create a new Free Trial account using the "Don't have an account" button on login.illumina.com (see above for important details).
  2. Under your enterprise account, have a domain administrator create a workgroup from the workgroup admin console. The owner of that workgroup will host the docker images for the apps.
  3. Invite any other users you wish to collaborate on development to that workgroup.
  4. To manage your docker images, log in to your enterprise, select the app development workgroup, and then go to the developer portal (developer.basespace.illumina.com/dashboard). Notice the workgroup name shows up on the app banner confirming you are logged in as that workgroup.
  5. Click on Docker Repositories to see the list of images associated with the workgroup owner's email. Click "Create a new Repository" or "Create Namespace" to see instructions on how to use the docker command line to log in and push docker images.
  6. Build your app in the normal way. Other members of the workgroup can collaborate on the development.

Publishing to Enterprise Domain

Enterprise users get an additional option for apps, they can "Publish" the app to the enterprise. This will make the application show up to all workgroups in the enterprise. It will also "Lock" the application for future modification, however as the app is not available to public BaseSpace users, there is no need for a review by Illumina. Enterprise users will see a "Publish" drop-down button in place of the "Submit for Review" button on the app details page of the developer portal. To un-publish the app, the domain owner will need to contact illumina customer support.