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 exmaples/ directory.