How to implement continuous deployment of operational configurations using Chef and Git.
Given as a lightning talk at the "Continuous Deployment ArchCamp, 03/30/2011.
http://www.meetup.com/ArchCamp/events/16419122/
3. Infrastructure as Code
“Enable the reconstruction of the business from nothing but a
source code repository, an application data backup, and bare
metal resources”
- Jesse Robbins
4. Chef primer
Client-server config management tool
Cookbooks - modules with recipes for doing stuff
Roles - which recipes? what settings?
Data Bags - JSON object storage
Knife - CLI tool
9. How?
for cookbook in $(git_diff("cookbooks")); do
knife cookbook upload $cookbook
done
for role in $(git_diff("roles")); do
knife role from file $role
done
for bag in $(git_diff("databags")); do
for item in $(git_diff("items", $bag)); do
knife data bag from file $bag $item
done
done