= Capazon

Capistrano tasks to manage Amazon EC2 Images.

== Installation

* <tt>gem install capazon</tt>
* Edit your your <tt>config/deploy.rb</tt>:

require 'capazon'

#AWS login info
set :aws_access_key_id, 'XXX'
set :aws_secret_access_key, 'X'

# Name of the keypair used to spawn and connect to the Amazon EC2 Instance
# Defaults to one created by the setup_keypair task
set :aws_keypair_name, "#application-capazon"

# Path to the private key for the Amazon EC2 Instance mentioned above
# Detaults to one created by setup_keypair task
set :aws_private_key_path, "#Dir.pwd/#aws_keypair_name-key"

#defaults to an ubuntu image
#set :aws_ami_id, "ami-e4b6538d"

#defaults to, um, default
#set :aws_security_group, "default"

== Tasks

===== Notes:

* <em>All tasks <b>require</b> aws_access_key_id and aws_secret_access_key.</em>
* <em>All tasks optionally take environment variables in lieu of capistrano configuration variables.</em>

[+create_keypair+] Create a keypair aws_keypair_name and write out the generate private key to aws_private_key_path.
[+delete_keypair+] Deletes keypair aws_keypair_name.
[+describe_keypairs+] Describes keypairs.
[+describe_images+] Describes AMIs you have privilege to execute.
[+run_instance+] Runs an instance of aws_ami_id with access available via aws_keypair_name.
[+terminate_instance+] Terminates aws_instance_id.
[+describe_instances+] Describes running AMIs.
[+authorize_web_and_ssh_access+] Opens tcp access on port 80 and 22 to the aws_security_group.

==== Experimental Tasks

[+run_and_configure_instance+] Runs an instance of aws_ami_id with access available via aws_keypair_name, and - very experimentally - changes the root password, adds a user, gives that user sudo rights, then writes out a new deploy.rb to allow this new instance to be used with the 'deprec' gem.

== Meta

Rubyforge Project Page:: http://rubyforge.org/projects/capazon
Author:: Jesse Newland (http://soylentfoo.jnewland.com) ([email protected][maito:[email protected]])
Copyright:: Copyright (c) 2007 Jesse Newland
License:: Distributes under the same terms as Ruby