Sha256: 8cf48a8223889f61e0eddb0aae7ba5fa46b5b001c9fa3a41087ff3e07f2eab2a

Contents?: true

Size: 1.89 KB

Versions: 1

Compression:

Stored size: 1.89 KB

Contents

# Mulder

A deploy-time helper for your AWS AutoScaling groups, and servers. Discover the IP addresses of your instances by AutoScalingGroup.

[![Build Status](https://travis-ci.org/shopkeep/mulder.png?branch=master)](https://travis-ci.org/shopkeep/mulder)

## Installation

Add this line to your application's Gemfile:

    gem 'mulder'

And then execute:

    $ bundle

Or install it yourself as:

    $ gem install mulder

## Usage

### CLI

To see the web servers for an app, and environment:

    mulder search banana_sandwich production WebServerGroup

Example output:

    [
        {
                        :id => "i-ididid",
                  :dns_name => "web.prod.example.com",
         :public_ip_address => "1.0.1.0",
        :private_ip_address => "0.1.0.1",
                :created_at => 2013-08-08 18:21:05 UTC
        }
    ]

To change the configration file:

    mulder search banana_sandwich production WebServerGroup human foo.yml

### Capistrano

At the top of your `deploy.rb` file, add:

    require 'mulder/capistrano'

Configure some variables for later use:

    set :application, 'banana_sandwich'
    set :environment, 'production'
    set :aws_creds,   '/foo/config/aws.yml'
    set :mulder,      { Mulder::Capistrano.new(aws_creds, environment, application) }

Setting up your `worker` role:

    role :worker, *mulder.ips('WorkerServerGroup')

And your `app` role:

    role(:app, *mulder.ips('AppServerGroup')

And your `web` role:

    role :web, *mulder.ips('WebServerGroup')

And your `db` role:

    role :db, mulder.ips('WorkerServerGroup').first, primary: true

You can ask for private IPs as well:

    role :app, *mulder.ips('WorkerServerGroup', true)

## Contributing

1. Fork it
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Commit your changes (`git commit -am 'Add some feature'`)
4. Push to the branch (`git push origin my-new-feature`)
5. Create new Pull Request

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
mulder-0.0.3 README.markdown