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, andemacsinstall-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.shscript 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/pullweb-hook to update the /var/lib/downloads/scripts and /var/lib/downloads/service-manager directories.jetstream
Use thejetstreamscript on your local Linux/MacOS system to manage VM instances on the Jetstream cluster. Thejetstreamscript 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.shscript downloads thevm-initialize.shscript which does the actual work of initiallizing the VM. Now thevm-initialize.shscript 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.)