/datashield-ansible-deploy

Ansible Playbook for Installing/Updating DataSHIELD servers

Primary LanguageMakefileGNU General Public License v3.0GPL-3.0

DataSHIELD Ansible Deploy (dev branch)

Ansible Playbook for Installing/Updating DataSHIELD (Opal) servers.

Minimum Set-up

  1. Clone this repository.
  2. Install Ansible, if you do not already have it.
  3. Next, install dependencies by running $ansible-galaxy install -r requirements.yml.
  4. This playbook assumes a host group called DSServer (abbreviation for DataSHIELD Server).
  5. Copy the inventory/hosts.template file into a new inventory/hosts file and modify to add in your own hosts.
  • There should be no file extension at the end of inventory/hosts. Make sure not to save as inventory/hosts.txt
  1. Copy the inventory/group_vars/DSservers.template.yml file into a new inventory/group_vars/DSservers.template.yml and make sure to modify variables to your own liking.
  2. Run with ansible-playbook playbooks/setup.yml -i inventory -K from inside datashield-ansible-deploy.
  3. Enter root password when prompted with BECOME: by requesting it from your IT admin.
  4. IMPORTANT: Ensure that your Database is registered to Opal once installation completes. See discussion here.
    • URL should be mongodb://localhost:27017/opal_data?authSource=admin
    • user/pass should match secrets provided in inventory.

Recommended Set-up

Ansible can run on virtually anything modern, but it is important that your host machines are configured properly.

  • Ansible-core >=2.11

Recommended System Specifications (for Hosts)

  • Ubuntu 20 server.
  • x86 Architecture.
  • >=4GB RAM (>8 GB ideal)

SSH set-up

  • If you would like to use hosts with aliases you should modify your ssh config file. This is a file on the machine you run Ansible from, not on your hosts.
  • Add the following to your ~/.ssh/config directory.
Host [Alias]
  HostName [ADDRESS]
  Port [PORT]
  User [USER]
  PubkeyAuthentication yes
  IdentityFile ~/.ssh/id_rsa

(or possibly some different IdentityFile)

Troubleshooting and Suggestions

To report a bug or make a suggestion you can open issues on GitHub.