delano edited this page Sep 13, 2010 · 3 revisions

Why does Rudy require SimpleDB and S3 accounts?

Rudy stores metadata for machines and disks in SimpleDB. The reason is simple: it allows the state of your environments to be accessible to everyone on your team regardless of location. S3 is used by the rudy-s3 command-line tool. It currently supports only creating and deleting buckets, but there are more features planned.

Is it possible to store the metadata locally instead?

Not currently, but it’s probably a valuable features for people or teams who don’t require the distributed nature of SimpleDB. If you’re interested in this feature, feel free to create an issue for it labeled “task”.

What about security groups and keypairs?

Rudy creates these for you based on the same naming convention as machines. The default group will get a key called key-stage-app and a security group called g-stage-app.

Can I use my own keypairs?

Yep! You can specify your own keypairs in the machines config. You can find an example in the Rudyfile we generated above. Note: if you’re specifying a launch keypair, the filename will need to match the name of the keypair that’s registered with EC2. i.e. If the path is, /path/2/defaultkey it must be registered as defaultkey with EC2.

Can I use my own security groups?

Not currently. It is possible but I think it would add more complexity than it resolves. However, the discussion is open so email me at delano@solutious.com or start a thread in the discussion group

How do I change the default environment and role?

These values can be changed in the defaults section of ~/.rudy/config.

When living behind a firewall, what command can we use to set the proxy?

How within the can we extract information information (such as Private DNS) about an instance(s)?

You can programatically access EC2 info like this (it’s not documented b/c the API is likely to change):

    # Load configuration from your current working directory.

    # Modify the environment, role, etc. [optional]
    Rudy::Huxtable.global.environment = :prod

    # Option 1: Connect to SDB (quicker)
    global = Rudy::Huxtable.global
    Rudy::Metadata.connect global.accesskey, global.secretkey, global.region
    Rudy::Machines.list   # => [#<Rudy::Machine>]

    # Option 2: Connect to EC2 directly (slow but always updated)
    Rudy::AWS::EC2.connect global.accesskey, global.secretkey, global.region
    Rudy::AWS::EC2::Instances.list  # => [#<Rudy::AWS::EC2::Instance>]