Mailinglist Archive: opensuse-features (297 mails)

< Previous Next >
[New: openFATE 311133] Heroku like solution for SUSE Studio
Feature added by: Flavio Castelli (flavio_castelli)

Feature #311133, revision 1
Title: Heroku like solution for SUSE Studio

Hackweek VI: Unconfirmed
Priority
Requester: Neutral

Requested by: Flavio Castelli (flavio_castelli)
Partner organization: openSUSE.org

Description:
Creating an appliance to run a specific rails appliacation can be quite
annoying. There are extra repositories to add, package dependencies to satisfy,
a database to setup, apache and passenger to setup, overlay files to add and so
on.

Cloning an appliance like this (http://susegallery.com/a/CZ0T0D/rails-in-a-box)
can save some time, but some efforts are still required.

IMHO the easiest solution to deploy a rails app in the cloud is Heroku
(http://heroku.com/) .

My hackweek project (temporarly called 'Dister') aims to provide a command line
tool similar to Heroku's one.

This is a list of the possible commands I want to implement.

dister create [base_system] [template] base_system and template are optional
parameters. If base_system is not set dister will use latest version of
openSUSE supported by Studio. If template is not set dister will use the JeOS
template. dister push pushes the current rails code to studio dister rake
db:migrate performs all the db migrations locally and uploads a dump of the db
to Studio dister add format <format> adds the specified format dister rm format
<format> removes the specified format

dister packages add <package> adds package to the appliance dister packages rm
<package> removes package from the appliance

dister build builds the appliance dister download downloads the appliance
locally dister testdrive boots the appliance inside of testdrive and returns



SUSE Studio is going to support direct deployment of ec2 appliances to Amazon.
Supporting this feature inside of my hackweek project would make terribly easy
to push rails appliances into the cloud.

Test Case:

* User checkouts his rails app from git/svn/whaterver

* User creates a new appliance using: dister create
* dister figures out which database is used by the rails appliance and adds all
the required packages.
* dister figures out which gems are required by the rails app and installes
them from rpm or from gem files.
* User updates a dump of his db using the command dister rake db:migrate
* dister configures apache passenger automatically
* User requires an extra package using the command dister package add
ImageMagick
* User enables VMware format dister add format vmx
* User builds the appliance dister build
* User tests the appliance inside of testdrive dister testdrive
* User downloads the appliance dister download


Business case (Partner benefit):
openSUSE.org: Attract more rails developers, create more appliances.

--
openSUSE Feature:
https://features.opensuse.org/311133

< Previous Next >
List Navigation
This Thread
References