Skip to main content

Galaxy

Galaxy is an open-source, web-based platform originally developed data-intensive biomedical research. It enables users to perform complex computational analyses by providing a graphical interface to access compute resources, manage data, run analysis tools, construct workflows, and share results.

Key features include tool integration, workflow creation/execution, data management, history tracking for reproducibility, and collaboration capabilities.

Deployment

We use VMs in ORC to run two instances of galaxy. One is a development instance on the host ndip-test.ornl.gov, the other is a production instance on the host ndip.ornl.gov. Galaxy is automatically deployed via a CI/CD job using Ansible. This CI/CD job will deploy multiple services including Postgresql, RabbitMQ, and the GIE Proxy. The full playbook can be found here.

note

The NDIP hosts can be accessed via ssh by utilizing the ansible username and SSH key. The ansible username can be found here and here. The SSH key for NDIP is here.

Automated Deployment Details

Deployment is managed through the galaxy Ansible role. Refer to the role's README.md for more details. The role includes:

  • Configuration templates for Galaxy, local tools, and more.

  • Tasks for building Galaxy, creating groups/users, managing the Galaxy database and much more.

Configuration

Configuration values for Galaxy are defined in Ansible variable files in this folder.

Hosts sometimes overwrite configuration values. These host specific values are available in the host_vars folder.

Procedure

(Re-)deploying the production instance has the potential to disrupt users. It should only be done when there is a specific need, such as when new tools are added. The steps to be followed are:

  1. Check ndip.ornl.gov for running jobs.
    1. Go to the jobs admin page
    2. Set the "Job Lock" switch to locked
    3. Wait for any running jobs to complete (jobs that have been running for a few days may be stopped manually)
  2. Notify the #ndip-nova Slack channel there will be a brief outage
  3. Go to the NDIP Deployments page:
    1. Find a pipeline that is the latest for branch main
    2. Run the ndip job
  4. When the deploy job is complete, check ndip.ornl.gov is working
    1. Go to the jobs admin page
    2. Ensure the "Job Lock" switch is unlocked (it should be automatically unlocked)
  5. Notify the #ndip-nova Slack channel when the deploye is completed