AWS provisioners for Furnish

Several AWS-related provisioners for Furnish:

  • EC2 Instances
  • Security Groups
  • VPC
    • EC2 and Security Group provisioners support VPC
    • Subnets
  • S3


For usage, see the documentation for each Provisioner class. For general Furnish usage, see the Furnish documentation.


Tests do not use mocks. They are built in a way to do a minimum amount of API traffic, but traffic does happen, machines and other resources get provisioned, and yes, your card will be charged as a result of that.

Acknowledging that and still willing to test, there are two things you need to do to get tests to run:

  • touch .acknowledged in the root of the repo - this more or less indicates you read the above.
  • open .aws-env and put some ruby in it that sets your AWS credentials. This will be evaluated at harness time. This is to ensure you don't do something stupid to production.


ENV["AWS_SECRET_ACCESS_KEY"]="it's a space herpe"

If you don't do these the test suite will not run. Both files are in .gitignore so you can feel comfortable knowing they won't be committed.


Add this line to your application's Gemfile:

gem 'furnish-aws'

And then execute:

$ bundle

Or install it yourself as:

$ gem install furnish-aws


  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