Project

ponyup

0.0
No commit activity in last 3 years
No release in over 3 years
Ponyup uses fog to manipulate clouds to get the them to the point you want use chef for provisioning, and then uses kinfe to bootstrap the nodes
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Runtime

>= 1.19.0
 Project Readme

Pony Up

A friendly DSL on top of Rake to define and launch your cloud services. Uses Fog to talk to the cloud.

This is all for AWS right now.

Philosophy

  • Infrastructure as code
  • Start with basic building blocks: security groups, hosts, etc
  • Everything at a higher level can be done by chef
  • Provide the transition from lower layer (fog) to apps (chef)

Overview

~/.fog

First, set up your ~/.fog file with credentials and defaults:

:production:
  :aws_access_key_id: XXXXXXXXXXXXXXXXX
  :aws_secret_access_key: XXXXXXXXXXXXXXXXXX
  :region: us-east-1
  :key_name: production
  :image_id: ami-9b85eef2
  :flavor_id: t1.micro

Your key_name field should have a matching ~/.ssh/{key_name}.pem file. If you name the group in fog anything other than default you will need to use the FOG_CREDENTIAL environment variable when running rake.

Rakefile

require_relative 'lib/ponyup'

security 'web', [80, 8080]

host 'appserver', 'web', 'recipe[appserver]'

task :default => :ponyup

Invocation

To set up your full set of hosts and security groups:

rake FOG_CREDENTIAL=production

To tear down your server:

rake host:appserver:destroy [FOG_CREDENTIAL=...]

To see all availabe tasks:

rake -D

Examples

There are examples in the examples/ directory.