Mailinglist Archive: opensuse-features (261 mails)

< Previous Next >
[openFATE 311133] Heroku like solution for SUSE Studio
Feature changed by: Flavio Castelli (flavio_castelli)
Feature #311133, revision 2
Title: Heroku like solution for SUSE Studio

Hackweek VI: Unconfirmed
Priority
Requester: Neutral

Requested by: Flavio Castelli (flavio_castelli)
+ Developer: (Novell)
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