Skip to content

Instantly share code, notes, and snippets.

@mtnygard
Forked from btm/build_chef_0.8
Created April 9, 2010 14:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mtnygard/361252 to your computer and use it in GitHub Desktop.
Save mtnygard/361252 to your computer and use it in GitHub Desktop.
# ec2 ami-1515f67c
sudo sed -i 's/universe/multiverse universe/' /etc/apt/sources.list
sudo sed -i 's/karmic main/karmic restricted main/' /etc/apt/sources.list
sudo apt-get update
sudo apt-get install -y ruby ruby1.8-dev libopenssl-ruby1.8 rdoc ri irb build-essential wget ssl-cert sudo git-core rake librspec-ruby libxml-ruby thin couchdb zlib1g-dev libxml2-dev
mkdir ~/src
cd ~/src
wget http://rubyforge.org/frs/download.php/69365/rubygems-1.3.6.tgz
tar zxf rubygems-1.3.6.tgz
cd rubygems-1.3.6
sudo ruby setup.rb
sudo ln -sfv /usr/bin/gem1.8 /usr/bin/gem
sudo gem sources -a http://gems.opscode.com
sudo gem install chef
# Create ~/chef.json:
{
"bootstrap": {
"chef": {
"url_type": "http",
"init_style": "runit",
"path": "/srv/chef",
"serve_path": "/srv/chef",
"server_fqdn": "ec2-184-73-186-66.compute-1.amazonaws.com",
"webui_enabled": true
}
},
"run_list": [ "recipe[bootstrap::server]" ]
}
# End of file
# Create ~/solo.rb:
file_cache_path "/tmp/chef-solo"
cookbook_path "/tmp/chef-solo/cookbooks"
recipe_url "http://s3.amazonaws.com/chef-solo/bootstrap-latest.tar.gz"
# End of file
sudo /usr/bin/chef-solo -j ~/chef.json -c ~/solo.rb -l debug
# Copy /etc/chef/validation.pem to LOCAL MACHINE as ~/.chef/valiation.pem
# Create ~/.chef/knife.rb ON LOCAL MACHINE
log_level :info
log_location STDOUT
node_name 'mtnygard'
client_key '/Users/mtnygard/.chef/mtnygard.pem'
validation_client_name 'chef-validator'
validation_key '/Users/mtnygard/.chef/validation.pem'
chef_server_url 'http://ec2-184-73-186-66.compute-1.amazonaws.com:4000'
cache_type 'BasicFile'
cache_options( :path => '/Users/mtnygard/.chef/checksums' )
# End of file
# ON LOCAL MACHINE
cd ~/.chef
knife client create mtnygard -f mtnygard.pem -u chef-validator -k validation.pem
# Setup cookbooks ON LOCAL MACHINE
cd ~/work
git clone git://github.com/mtnygard/chef-repo.git
cd chef-repo
sudo knife cookbook upload --all -o cookbooks:site-cookbooks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment