Code Monkey home page Code Monkey logo

cloudlaunch's Introduction

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. If you would like to have an additional cloud provider added as an available option for a given appliance, please create an issue in this repo.

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 the CloudLaunch 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/cloudlaunch/admin/ to define your application and infrastructure properties.
6 . Install the UI for the server by following instructions from
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 --yes 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
  1. Visit http://127.0.0.1:8000/cloudlaunch/admin/ to define appliances and add cloud providers.
  2. Visit http://127.0.0.1:8000/cloudlaunch/api/v1/ to explore the API.
7 . Install the UI for the server by following instructions from
https://github.com/galaxyproject/cloudlaunch-ui.

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

cloudlaunch's People

Contributors

afgane avatar nuwang avatar chapmanb avatar machristie avatar remimarenco avatar jmchilton avatar jatinkinraais avatar igrbesa avatar agbiotec avatar first-leon avatar ksuderman avatar dannon avatar hexylena avatar switchtrue avatar tsibley avatar alexjsmac avatar andersje avatar kernytsky avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.