Skip to content

Instantly share code, notes, and snippets.

@jonlives
Created December 16, 2011 16:30
Show Gist options
  • Save jonlives/1486734 to your computer and use it in GitHub Desktop.
Save jonlives/1486734 to your computer and use it in GitHub Desktop.
Bootstrap Manifest for Chef on OS X
bash -c '
cd ~/Desktop
curl -O http://joncowie.local/xcode.tar.gz
tar -zxf xcode.tar.gz
installer -pkg ~/Desktop/Install\ Xcode.app/Contents/Resources/Xcode.mpkg -target "/"
rm -rf ~/Desktop/xcode.tar.gz
rm -rf ~/Desktop/Install\ Xcode.app
curl -O http://joncowie.local/JavaForMacOSX10.7.dmg
hdiutil attach JavaForMacOSX10.7.dmg
cd /Volumes/Java\ For\ Mac\ OS\ X\ 10.7
sudo installer -pkg JavaForMacOSX10.7.pkg -target "/"
cd ~/Desktop
sleep 5
hdiutil detach disk1s3
rm -rf ~/Desktop/JavaForMacOSX10.7.dmg
gem install ohai --no-rdoc --no-ri --verbose
gem install chef --no-rdoc --no-ri --verbose <%= bootstrap_version_string %>
mkdir -p /etc/chef
(
cat <<'EOP'
<%= validation_key %>
EOP
) > /tmp/validation.pem
awk NF /tmp/validation.pem > /etc/chef/validation.pem
rm /tmp/validation.pem
<% if @chef_config[:encrypted_data_bag_secret] -%>
(
cat <<'EOP'
<%= encrypted_data_bag_secret %>
EOP
) > /tmp/encrypted_data_bag_secret
awk NF /tmp/encrypted_data_bag_secret > /etc/chef/encrypted_data_bag_secret
rm /tmp/encrypted_data_bag_secret
<% end -%>
(
cat <<'EOP'
<%= config_content %>
EOP
) > /etc/chef/client.rb
echo "Ohai::Config[:disabled_plugins] = [ "passwd" ]" >> /etc/chef/client.rb
cp /etc/chef/client.rb /etc/chef/client.rb.bootstrap
(
cat <<'EOP'
<%= { "run_list" => @run_list}.to_json %>
EOP
) > /etc/chef/first-boot.json
<%= start_chef %>'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment