Skip to content

Commit

Permalink
Added more documentation to the README, also spelling corrections/cap…
Browse files Browse the repository at this point in the history
…italization
  • Loading branch information
bmaland committed May 6, 2011
1 parent d7f69c8 commit d812bbf
Showing 1 changed file with 40 additions and 21 deletions.
61 changes: 40 additions & 21 deletions README.rdoc
@@ -1,22 +1,22 @@
= Dister: an Heroku like solution for SUSE Studio

{SUSE Studio}[http://susestudio.com] is an online Linux image creation tool.
Creating an appliance to run your rails appliacation can be quite annoying:
there are extra repositories to add, gem dependencies to satisfy, a database to
setup, apache and passenger to configure, overlay files to add and so on.
Creating an appliance to run your Rails application can be quite annoying:
there are extra repositories to add, gem dependencies to satisfy, a database to
setup, Apache and Passenger to configure, overlay files to add and so on.

You can save some time cloning {this}[http://susegallery.com/a/CZ0T0D/rails-in-a-box]
appliance shared on {SUSE Gallery}[http://susegallery.com/], but some efforts
are still required.

Currenlty the easiest solution to deploy a rails application in the cloud is
Currently the easiest solution to deploy a Rails application in the cloud is
{Heroku}[http://heroku.com/].

Dister is a command line tool similar to the one used by Heroku. Within a few
steps you can create a SUSE Studio appliance running your rails application,
Dister is a command line tool similar to the one used by Heroku. Within a few
steps you can create a SUSE Studio appliance running your Rails application,
download it and run into your private or public cloud.

SUSE Studio currenlty supports the following appliance formats:
SUSE Studio currently supports the following appliance formats:
- oem: it can be run inside KVM or it can be installed to a hard disk/usb pen.
- iso and preload iso: you can create a live dvd or an installation dvd.:
- vmx and ovf: use these formats if you want to run your appliance inside of
Expand All @@ -25,12 +25,15 @@ SUSE Studio currenlty supports the following appliance formats:
hypervisor.
- ec2: jumping into Amazon's cloud has never been so easy.

More formats are coming. Checkout {SUSE Studio}[http://susestudio.com] for
More formats are coming. Checkout {SUSE Studio}[http://susestudio.com] for
more details.

Currently only MRI Ruby 1.8 is supported, but support for 1.9 and REE is
forthcoming.

== Common workflow

This section will show the common workflow required to create a SUSE Studio
This section will show the common workflow required to create a SUSE Studio
appliance running a standard Rails application.

All the following commands must be executed inside of the root directory of
Expand All @@ -39,25 +42,26 @@ your rails application.
=== Create
You can create your SUSE Studio appliance using the following command:
dister create APPLIANCE_NAME
The following code creates a 32bit appliance based on the latest version of
openSUSE supported by SUSE Studio. The appliance will use the
This creates a 32bit appliance based on the latest version of openSUSE supported
by SUSE Studio. The appliance will use the
{JeOS}[http://en.wikipedia.org/wiki/Just_enough_operating_system] template.

You can change the default behaviour using the following command line options:
- <tt>--basesystem</tt>: to use something different from openSUSE.
- <tt>--template</tt>: to use something different from the JeOS template.
- <tt>--arch</tt>: to build a 64bit appliance.

By default all the appliances created by dister have the <em>devel:language:ruby:extensions</em>
repository. This repository contains all the ruby-related packages.
It's actively maintained by the openSUSE community and by some Novell employee.
By default all the appliances created by dister have the
<em>devel:language:ruby:extensions</em> repository. This repository contains all
the Ruby-related packages. It's actively maintained by the openSUSE community
and by some Novell employee.

The following packages are automatically added to all appliances:
- devel_C_C++ and devel_Ruby: these are needed in order to build native gems.
- rubygem-bundler: this package provides latest version of bundler.
- rubygem-passenger-apache2: this package is required in order to deploy your
rails application using Apache. All the Apache packages will be automatically
installed by SUSE Studio because they are dependencies of rubygem-passenger-apache2.
- <tt>devel_C_C++</tt> and +devel_Ruby+: these are needed in order to build native gems.
- +rubygem-bundler+: this package provides latest version of bundler.
- +rubygem-passenger-apache2+: this package is required in order to deploy your
Rails application using Apache. All the Apache packages will be automatically
installed by SUSE Studio because they are dependencies of +rubygem-passenger-apache2+.

The create task takes care of uploading some custom build and boot scripts.
These scripts take care of initializing your appliance. You can inspect them
Expand All @@ -70,15 +74,30 @@ In order to add your rails application to your SUSE Studio appliance just execut
This will automatically create (or update) your local bundle and upload it to
SUSE Studio.
Your bundle contains:
- all the gems needed by your rails appliance (this is done using bundler).
- all the gems needed by your Rails appliance (this is done using bundler).
- all your code
- apache configuration
- Apache configuration

=== Build
Building can be triggered using the following command:
dister build
A nice progress bar will be shown.

=== Testdrive
After your build has completed, you can testdrive your appliance:
dister testdrive

Currently you have to access your testdrive using VNC, but support for the
web-based Flash interface is on the way.

=== Download
If you're happy with what you saw during your testdrive, you can download the
appliance:
dister download

You can then deploy it. We want to support direct deployment to EC2 in future
versions.

TODO: write more documentation.

== License
Expand Down

0 comments on commit d812bbf

Please sign in to comment.