0.0
No commit activity in last 3 years
No release in over 3 years
Rubygem for safely managing Rackspace Cloud Load Balancer backend servers
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 2.0.1
~> 11.2.2
~> 3.5.0
~> 0.42.0

Runtime

~> 1.38.0
 Project Readme

SpaceCadet

SpaceCadet is a library written in Ruby for interacting with the Rackspace Cloud Load Balancers. The library itself uses the fog gem, which is a very popular Ruby library for interacting with all of the different cloud providers (including Rackspace).

License

SpaceCadet is released under the Apache 2.0 license. See the LICENSE file for full the full details of the license.

Why SpaceCadet?

Because this library is meant to speed up deploys, and it's a little "special"...

It's not meant to be pretty, clean, or re-usable. This library was written with one purpose in mind: being able to change a single backend node from ENABLED to DRAINING within multiple LBs.

Also: (Rack)space.

Including in Gemfile

gem 'dd_spacecadet', git: 'git@ddgit.me:EngOps/spacecadet.git'

Usage

Here's an example of using the library while interacting with the DFW region:

require 'dd_spacecadet'

env = 'dfw-prod'
region = 'DFW'

DoubleDutch::SpaceCadet::Config.register(
  env, ENV['RS_CLOUD_USERNAME'], ENV['RS_CLOUD_KEY'], region
)

dfw_prod = DoubleDutch::SpaceCadet::LB.new(env)

# search for an LB by its label, in this example "prod-lb"
# if multiple LBs match it will use *ALL* of them
dfw_prod.find_lb_and_use('prod-lb')

# gets the status of each LB and its nodes
# you can use dfw.print_status to print the info to stdout with formatting
dfw.status

dfw.update_node('node01', :draining)

dfw.update_node('node01', :enabled)