Skip to content

gilles/chef-boilerplate

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Overview

Boilerplate to setup a new chef repo. It's really oriented nginx / unicorn / rails / mongodb but the base cookbooks/roles/data_bags are there.

The primary goal of the boilerplate is to create the base instance image. The secondary goal is to setup a nginx / unicorn / rails / mongodb application.

Contains the following cookbooks:

  • users
  • sudo
  • application for nginx / unicorn / rails
  • rvm
  • A base cookbook

And their dependencies.

Feedback and suggestions are more than welcome.

Changes from official cookooks

Application

new recipe application::nginx_unicorn

application::unicorn uses god for unicorn supervision

Nginx

compile with status module

Ruby

Had weird errors with ubuntu ruby packages, removed bad packages.

The base cookbook

The base cookbook contains several base recipes:

  • packages => a list of packages all machines should have
  • ps1 => a system wide PS1 where all prod machines are red and staging machines are yellow

The PS1 recipe contains modified system wide bashrc / profile and skeleton bashrc because:

Usage

Just clone, setup your .chef and chef-client as explained in: http://help.opscode.com/kb/start/2-setting-up-your-user-environment and http://help.opscode.com/kb/start/4-setting-up-a-chef-client

Include the 'production' or 'staging' role for a base installation

Update the data bags with the relevant infos. Rename and update the 'app' data bag with whatever makes sense for you.

TODO

  • mongodb + make it work with the application cookbook.
  • monitoring (but which one)
  • Make the application cookbook play nice with RVM
  • Cleanup dependecies for unused cookbooks? Not sure about that.

About

Initial chef repo

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages