Skip to content

Instantly share code, notes, and snippets.

@omarqureshi
Created December 24, 2013 11:46
Show Gist options
  • Save omarqureshi/8112166 to your computer and use it in GitHub Desktop.
Save omarqureshi/8112166 to your computer and use it in GitHub Desktop.
require 'fog'
$connection = Fog::Compute.new({:provider => "Rackspace", :rackspace_username => "xxx", :rackspace_api_key => "xxx", :rackspace_region => :lon})
def get_servers(stage, role)
$connection.servers.select {|s| s.name =~ Regexp.new("^#{role}\-(.*)\.#{stage}\.buddyapp\.org$")}.map(&:ipv4_address)
end
role :web, *get_servers("staging", "web")
role :app, *get_servers("staging", "app")
role :jobs, *get_servers("staging", "jobs")
role :db, *get_servers("staging", "jobs").first, :primary => true
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment