Rudy 0.9.1 BETA - Not your grandparents' EC2 development and
deployment tool
Rudy is a development and deployment tool for Amazon Web Services. It
helps you build and maintain infrastructures in EC2 by organizing them
into groups of _zones_, _environments_, and _roles_. By making it
quick and easy to build infrastructures, Rudy makes it feasible to run
environments only for the time that you need them.
CONFIGURATION
machines do
env :stage do # Define an environment
ami 'ami-e348af8a' # Specify a machine image
role :app do # Define a role
addresses '11.22.33.44' # Use elastic IPs
disks do # Define EBS volumes
path "/rudy/disk1" do
size 100
device "/dev/sdr"
end
end
end
end
end
routines do
startup do # $ rudy startup
adduser :rudy
authorize :rudy # Enable passwordless login
disks do
create "/rudy/disk1" # Create and mount a volume
end
remote :rudy do # Run remote commands via SSH
mkdir :p, "great" # $ mkdir -p great
mysql_init :start
your_script 'arg1', 'arg2' # Call your own scripts
end
end
end
See the default Rudyfile for a complete configuration example:
http://github.com/solutious/rudy/raw/master/Rudyfile
RUNNING COMMANDS
$ rudy startup
Authorizing group: 70.49.123.222 (22, 22)
Waiting for m-us-east-1d-stage-app-01 to boot...
Waiting for SSH (22) on m-us-east-1d-stage-app-01 ...
Creating volume...
Attaching vol-0023c869 to i-e523298c...
Creating ext3 filesystem for /dev/sdr...
Mounting at /rudy/disk1...
The following machines are now available:
m-us-east-1d-stage-app-01
$ rudy machines
m-us-east-1d-stage-app-01:
ec2-67-202-0-112.compute-1.amazonaws.com
$ rudy disks
disk-us-east-1d-stage-app-01-rudy-disk1
See "rudy -h" for a description of all available commands.
INSTALLATION
Via Rubygems, one of:
$ sudo gem install rudy
via download:
* rudy-latest.tar.gz:
http://github.com/solutious/rudy/tarball/latest
* rudy-latest.zip:
http://github.com/solutious/rudy/zipball/latest
or via git:
$ git clone git://
github.com/solutious/rudy.git
PROJECT STATUS
This is a BETA release. That means Rudy is not ready for production
use!
See:
http://wiki.github.com/solutious/rudy/project-status
CONTRIBUTIONS
We encourage people to find unique and interesting ways to break and
extend rudy.
* For bigger features please fork the git repo and send me a pull
request.
* For small or single file changes, send an email with details to:
delano (@
solutious.com)
MORE INFO
Codes:
http://github.com/solutious/rudy
Rdocs:
http://solutious.com/rudy/
Issues:
http://github.com/solutious/rudy/issues
Group:
http://groups.google.com/group/rudy-deployment