public
Description: Top-level repository with the entire vertebra distribution
Homepage:
Clone URL: git://github.com/engineyard/vertebra.git
Samuel Tesla (author)
Wed Dec 31 14:14:51 -0800 2008
commit  9a3ea01c8b286ceb6bc2981f7fa6e77bf852fa34
tree    caf2c546e9ef5c89bd8273957426fce2feb16d65
parent  96a539953e181ac9282b730b76b82c3699abd320
name age message
file .gitignore Loading commit data...
file .gitmodules Fri Dec 19 11:25:09 -0800 2008 Fixed .gitmodules to use public clone URLs inst... [Samuel Tesla]
file LICENSE Wed Dec 10 12:43:46 -0800 2008 Initial Commit [Samuel Tesla]
file Makefile.am Tue Dec 23 11:18:04 -0800 2008 Get build producing distribution tarball. [Samuel Tesla]
file README
file TODO Fri Dec 19 09:29:32 -0800 2008 Updated TODO [Samuel Tesla]
file configure.ac
file deps.sh Tue Dec 30 13:07:01 -0800 2008 Updated README with instructions for producing ... [Samuel Tesla]
directory docs/ Mon Jan 12 11:41:56 -0800 2009 Move the integration docs into the integration ... [Samuel Tesla]
file loudmouth-whitespace.patch
submodule natter - 172b8ad
submodule vertebra-doc - 66487c7
submodule vertebra-erl - 88780b8
submodule vertebra-gem - f6bdf34
submodule vertebra-rb - 9b61831
submodule vertebra-xen - 23d2958
README
== Where to get Vertebra

The source code is always available via Git:

  $ git clone git://github.com/engineyard/vertebra.git
  $ cd vertebra
  $ git submodule init
  $ git submodule update

When switching between branches you need to remember to update the
submodules. So to checkout the 0.3.0 tag to a branch you'd do this:

  $ git checkout -b 0.3.0 0.3.0
  $ git submodule update

Then when you went back to master you'd do this:

  $ git checkout master
  $ git submodule update

== Dependencies

We have provided a script (deps.sh) that installs some dependencies in
/opt/local/vertebra:

 * Erlang OTP (R12B-5)
 * ejabberd (2.0.2)
 * erlsom (1.2.1)

The script also installs the following gems using the gem command found on your
PATH:

 * rspec
 * open4
 * thor
 * rr
 * hoe

The following dependencies are not installed:

 * expat (most systems have this)
 * gcc (most systems have this, Macs need to install Xcode)
 * iconv (glibc systems have this, only needed for ejabberd mod_irc)
 * make (most systems have this, Macs need to install Xcode)
 * glib (most linux systems have this, needed for loudmouth)
 * loudmouth (see note below)
 * loudmouth-ruby
 * openssl (most systems have this)
 * ruby
 * rubygems
 * wget OR curl (this includes most Macs and Linux machines)
 * zlib (most systems have this)

=== Loudmouth

As of this writing the latest released version of loudmouth is 1.4.3. That
release has some behavior regarding whitespace that it emits in its XML that
causes trouble when that same XML is parsed. We have submitted a patch, but it
is not available in a released version, so it is included here as
loudmouth-whitespace.patch.

== Installation

If you are installing from git you need to run this command to set up the build
system:

  $ autoreconf --install && autoreconf

Then to install everything:

  $ ./deps.sh -a
  $ ./configure && make && make install

What is installed can be broken down into three categories: vertebra libraries,
and vertebra actors.

==== Vertebra Libraries

 * vertebra -- Core agent library for ruby.
 * vertebra-erl -- Core agent library for erlang and core vertebra services.

==== Vertebra Actors

 * vertebra-gemtool -- Actor for managing ruby gems.
 * vertebra-xen -- Actor for accessing Xen slice information.

== Bugs

Currently there is an intermittent segfault in the ruby agent library. It seems
to be related to the loudmouth-ruby bindings.