Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Aussie kitchenhand helping in the provisional kitchen with Fog and Chef

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 lib
Octocat-spinner-32 spec
Octocat-spinner-32 .gitignore
Octocat-spinner-32 .rvmrc
Octocat-spinner-32 CHANGELOG.md
Octocat-spinner-32 Gemfile
Octocat-spinner-32 README.md
Octocat-spinner-32 Rakefile
Octocat-spinner-32 slushy.gemspec
README.md

Description

Giving Chef a hand in the provisional kitchen, aussie style. Assumes Fog's API for connecting to and creating instances.

Usage

Provision and converge an instance:

connection = Fog::Compute.new(:provider => 'AWS', :aws_access_key_id => 'KEY', :aws_secret_access_key => 'SECRET')

# Second arg is a hash passed to Fog::Compute::AWS::Servers.create
instance = Slushy::Instance.launch(connection, :flavor_id => 'm1.large', :more => :keys)

# Install ruby and Chef
instance.bootstrap

# Converge using your Chef cookbooks
instance.converge Rails.root.join('provision')

TODO

  • Speed up slow Instance.launch tests caused by Fog's mocking
  • Add SystemTimer for a working 1.8.7 timeout
  • Support providers other than AWS
  • Support OSes other ubuntu
  • Don't hardcode path to chef, caused by ubuntu installing weirdness
  • Fix Instance#wait_for_connectivity occasionally hanging
Something went wrong with that request. Please try again.