This repository contains various bash scripts used to initialize and control VM instances on the Jetstream cluster. Note that many of the install scripts are not specific to Jetstream instances and can be used to install software to most Ubuntu, CentOS and RedHat 6/7 machines. The scripts have not been tested on Debian, Fedora, or other Linux distributions.
Code pushed to the master branch of this repository will be automatically pushed to http://downloads.lappsgrid.org/scripts.
- General Installation Scripts
- install-common.sh
- install-java.sh
- install-postgres.sh
- install-docker.sh
- install-groovy.sh
- install-lsd.sh
- Galaxy Installation Scripts
- galaxy-setup.sh
- patch-galaxy-ini.sh
- db-setup.sh
- Miscellaneous Scripts
- sniff.sh
- proxy
- pull.sh
- jetstream
- Jetstream Control Script
This repository contains various bash scripts used to initialize and control VM instances on the Jetstream cluster. Note that many of the install scripts are not specific to Jetstream instances and can be used to install software to most Ubuntu, CentOS and RedHat 6/7 machines. The scripts have not been tested on Debian, Fedora, or other Linux distributions.
The following scripts are used to install various required packages on either Ubuntu, CentOS, or RedHat.
install-common.sh
Installsgit
,zip
,unzip
, andemacs
install-java.sh
Installs OpenJDK 1.8install-postgres.sh
Installs PostgreSQL 9.6install-docker.sh
Installs the latest beta versions of Docker and Docker Compose. The beta versions are required to support the latest features of Docker Compose and Docker Swarm.install-groovy.sh
Installs Groovy 2.4.7install-lsd.sh
Installs the Lappsgrid Services DSL (Domain Specific Language).
galaxy-setup.sh
Installs Java, Postgres, LSD, and the common packages before cloning Galaxy from the Lappgrid GitHub repository. Uses the following scripts to configure the Galaxy instance and database.patch-galaxy-ini.sh
Patches Galaxy's galaxy.ini script with the appropriate port number (default is 8000), database password, secret, and installation directory.db-setup.sql
Creates the galaxy database and user in Postgres.
sniff.sh
Thesniff.sh
script is used by other scripts to detect the Linux distribution being used.proxy
This is the script used on the proxy server to update the nginx configuration. Proxy configuration will typically be done with the jetstream script, however, the jetstream script simply invokes the proxy script on the server to perform the actual work.pull.sh
The script used by thehttp://api.lappsgrid.org/pull
web-hook to update the /var/lib/downloads/scripts and /var/lib/downloads/service-manager directories.jetstream
Use thejetstream
script on your local Linux/MacOS system to manage VM instances on the Jetstream cluster. Thejetstream
script contains command for starting and stopping instances as well as reconfiguring the proxy to change the server that jetstream.lappsgrid.org resolves to.
You can read more about the Jetstream script here.
These scripts were used with the Jetstream "Atmosphere" user interface. However, we now use the much more powerful OpenStack interface directly.
- vm-setup.sh
The OpenStack web UI allows users to upload an initialization script that will be run when the VM is first initialized. However, the script uploaded to the OpenStack UI can not be deleted or renamed. To work around these drawbacks thevm-setup.sh
script downloads thevm-initialize.sh
script which does the actual work of initiallizing the VM. Now thevm-initialize.sh
script can be updated and used to initialize ne VM instances. - vm-inialize.sh
Does all the work of initializing a new VM. This script will install (amongst other things):- Java
- Groovy
- Zip, unzip, emacs, and other utils
- Several Lappsgrid tools (lsd, jsonc, tool-config-editor, etc.)