Skip to content
Easily launch cloud applications.
Python Other
  1. Python 97.2%
  2. Other 2.8%
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
django-cloudlaunch Merge pull request #184 from galaxyproject/restart-migrations Jan 27, 2020
docs Bump version: 3.0.0 → 4.0.0+dev0 Jan 25, 2020
tests Fixed paths so tests pass Apr 26, 2019
.gitignore Update gitignore Apr 19, 2019
.travis.yml Update ubuntu version used in travis build and minor doc fix Apr 4, 2019
Dockerfile Added unicode support to yaml handling Dec 19, 2019
HISTORY.rst
MANIFEST.in Added manifest file Dec 19, 2019
Makefile Setup cloudlaunch for PyPI release Jan 28, 2018
README.rst Merge branch 'master' into restart-migrations Jan 25, 2020
requirements.txt Use https option when cloning deps to work behind a proxy Apr 18, 2019
requirements_dev.txt Pind Django to at least v2.2.9 Jan 24, 2020
requirements_test.txt
setup.cfg
setup.py Sync version strings; switch to bump2version Jan 25, 2020
tox.ini Fix for travis import issue Feb 4, 2019

README.rst

Documentation Status

CloudLaunch

CloudLaunch is a ReSTful, extensible Django app for discovering and launching applications on cloud, container, or local infrastructure. A live version is available at https://launch.usegalaxy.org/.

CloudLaunch can be extended with your own plug-ins, which can provide custom launch logic for arbitrary applications. Visit the live site to see currently available applications in the Catalog. CloudLaunch is also tightly integrated with CloudBridge, which makes CloudLaunch natively multi-cloud.

CloudLaunch has a web and commandline front-end. The Web UI is maintained in the CloudLaunch-UI repository. The commandline client is maintained in the cloudlaunch-cli repository.

Installation

On Kuberneets, via Helm

The recommended way to install CloudLaunch is via a Helm Chart: https://github.com/cloudve/cloudlaunch-helm

Locally, via commandline

  1. Install the CloudLaunch Django server
$ pip install cloudlaunch-server

Once installed, you can run Django admin commands as follows:

$ cloudlaunch-server django
  1. Copy cloudlaunchserver/settings_local.py.sample to cloudlaunchserver/settings_local.py and make any desired configuration changes. Make sure to change the value for FERNET_KEYS variable because it is used to encrypt sensitive database fields.
  2. Prepare the database with:
$ cloudlaunch-server django migrate
$ cloudlaunch-server django createsuperuser
  1. Start the development server and celery task queue (along with a Redis server as the message broker), each process in its own tab.
$ python manage.py runserver
$ redis-server & celery -A cloudlaunchserver worker -l info --beat
  1. Visit http://127.0.0.1:8000/admin/ to define your application and infrastructure properties.
  2. Visit http://127.0.0.1:8000/api/v1/ to explore the API.

You will probably also want to install the UI for the server. The default UI is available at https://github.com/galaxyproject/cloudlaunch-ui.

Install Development Version

CloudLaunch is based on Python 3.6 and although it may work on older Python versions, 3.6 is the only supported version. Use of Conda or virtualenv is also highly advised.

  1. Checkout CloudLaunch and create an isolated environment
$ conda create --name cl python=3.6
$ conda activate cl
$ git clone https://github.com/galaxyproject/cloudlaunch.git
$ cd cloudlaunch
$ pip install -r requirements_dev.txt
$ cd django-cloudlaunch
  1. Copy cloudlaunchserver/settings_local.py.sample to cloudlaunchserver/settings_local.py and make any desired configuration changes.
  2. Run the migrations and create a superuser:
$ python manage.py migrate
$ python manage.py createsuperuser
  1. Start the web server and Celery in separate tabs
$ python manage.py runserver
$ redis-server & celery -A cloudlaunchserver worker -l info --beat

Contributing

Every PR should also bump the version or build number. Do this by running one of the following commands as part of the PR, which will create a commit:

  • For updating a dev version: bumpversion [major | minor | patch] eg, with current version 4.0.0, running bumpversion patch will result in 4.0.1-dev0
  • For updating a build version: bumpversion build will result in 4.0.1-dev1
  • For production version: bumpversion --tag release will result in 4.0.1, with a git tag
You can’t perform that action at this time.