Skip to content

Instantly share code, notes, and snippets.

@stephenlauck
Created October 4, 2012 22:08
Show Gist options
  • Save stephenlauck/3836791 to your computer and use it in GitHub Desktop.
Save stephenlauck/3836791 to your computer and use it in GitHub Desktop.
Joyent SmartOS Base64 1.8.1 Knife Bootstrap
# Joyent SmartOS Base64 1.8.1
# shove this in ~/.chef/bootstrap/joyent-smartos.erb
# run knife bootstrap <hostname> -d joyent-smartos
bash -c '
if [ ! -f /opt/local/bin/chef-client ]; then
pkgin -f update
pkgin -y install gcc47 gcc47-runtime scmgit-base scmgit-docs gmake ruby193-base ruby193-yajl ruby193-nokogiri ruby193-readline emacs-nox11 pkg-config
gem update --system
gem install --no-ri --no-rdoc ohai
gem install --no-ri --no-rdoc chef
gem install --no-ri --no-rdoc rb-readline
fi
mkdir -p /etc/chef
(
cat <<'EOP'
<%= validation_key %>
EOP
) > /tmp/validation.pem
/opt/local/gnu/bin/awk NF /tmp/validation.pem > /etc/chef/validation.pem
rm /tmp/validation.pem
(
cat <<'EOP'
<%= config_content %>
EOP
) > /etc/chef/client.rb
(
cat <<'EOP'
<%= { "run_list" => @run_list }.to_json %>
EOP
) > /etc/chef/first-boot.json
<%= start_chef %>'
@stephenlauck
Copy link
Author

hardcoded gnu awk path

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment