Skip to content

Latest commit

 

History

History
58 lines (32 loc) · 2.29 KB

README.md

File metadata and controls

58 lines (32 loc) · 2.29 KB

CloudMux

Build Status Code Climate

The CloudMux project provides a RESTful service layer for the management of multiple public/private cloud backends. The JSON-over-REST services abstract many of the details of calling specific cloud APIs. The JSON models returned are decorated with additional properties when supported by the cloud, or returned with minimal properties for a base IaaS cloud. CloudMux maintains an internal datastore with cloud definitions and cloud credentials, and makes native calls against the cloud on behalf of a user.

CloudMux currently supports the following clouds:

  • Amazon (AWS)
  • OpenStack (Essex, Grizzly, Havana)
  • Google Compute Engine (GCE)
  • VMware vCenter and vCloudDirector

CloudMux Architecture

Getting Started

  1. Make sure you have ruby 1.9.3 or 2.0+ and mongodb installed on a Linux (or similar Unix-based) OS.

  2. Create a ruby environment file and source with the following contents (edit your mongo user and password):

  • MONGO_URI=mongodb://MONGOUSER:MONGOPASSWORD@localhost:27017

  • RACK_ENV=development

  • RAILS_ENV=development

  • export MONGO_URI RACK_ENV RAILS_ENV

    source cloudmux.env

  1. Install nokogiri dependencies on the system (below is for Ubuntu/Debian systems. Reference Installing Nokogiri for others):

    sudo apt-get install libxslt-dev libxml2-dev

  2. Install Gem dependencies, cd to the CloudMux directory and run (if bundler is not install run gem install bundler):

    bundle install

  3. Seed mongodb, from the CloudMux directory run:

    rake db:seed

  4. You are now ready to host CloudMux. This can simple be started from the CloudMux directory by running:

    sh script/start_service.sh

or you can setup through an HTTP server (e.g. Apache w/ Passenger)