Rudy - v0.7 BETA

Not your grandparents’ EC2 deployment tool.

Rudy is a command-line development and deployment tool for Amazon Web Services. It helps you build and manage machines in EC2 by organizing them into groups of environments and roles. These are called machine groups. stage is the default environment and app is the default role. You can run multiple machines with the same role. These are called positions. Rudy also supports running machine groups across availability zones.

When you put all this together, you have a unique name for every machine. The default machine is:

        zone     env  role
         v        v    v   
   m-us-east-1b-stage-app-01
   ^                       ^
"machine"                position

All configuration is organized into the zones, environments, and roles that you specify (Rudy assumes positions are identical which is important for backups and scaling). And as you’d expect, the defaults can be changed too (in ~/.rudy/config).

See Getting-Started[http://wiki.github.com/solutious/rudy/getting-started] for more info.

NOTE: This is a BETA release. That means Rudy’s not ready for production use! See Project-Status[http://wiki.github.com/solutious/rudy/project-status].

Features

  • Create complex environments with a single command

    • Launch multiple instances

    • Assign elastic IP addresses

    • Create EBS volumes, attach to instances, format, and mount

    • Run scripts locally and remotely automatically

  • Organize instances into environments and roles

  • Powerful command-line tools

    • $ rudy -u root ssh

    • $ rudy -e testing -r database startup

  • Use _any Linux_ Amazon machine image (AMI) (partial Solaris support)

  • Complete command-line interface for EC2. See bin/rudy-ec2.

Installation

Via Rubygems, one of:

$ sudo gem install rudy
$ sudo gem install solutious-rudy --source http://gems.github.com/

or via download:

NOTE: If you are not installing via RubyGems, you need to make sure the dependencies are in your LOAD_PATH ($:). Ryan Tomayko wrote a gist[http://gist.github.com/54177] about it.

See Getting-Started[http://wiki.github.com/solutious/rudy/getting-started] for more info.

Pre-Requisites

More Info

Thanks

  • The Rilli.com team

    • Adam Bognar

    • Andrew Simpson

    • Caleb Buxton

    • Colin Brumelle

  • Sam Aaron

  • Everyone at Utrecht.rb

  • Jamis Buck for Net::SSH and friends

  • Glenn Rempe for amazon-ec2

  • Marcel Molina Jr. for aws-s3

  • sabat

  • Keshia Knight Pulliam

Contributions

I’m very open to contributions!

  • For bigger features please fork the git repo and send me a pull request.

  • For small or single file changes, send me an email with the details: [email protected]

Credits

Related Projects

License

See: LICENSE.txt