Created
October 10, 2011 19:50
-
-
Save benjaminws/1276345 to your computer and use it in GitHub Desktop.
joyent-smartos.erb
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 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 | |
cd /tmp | |
pkgin install gcc-compiler gcc-runtime gcc-tools-0 ruby19 scmgit-base scmgit-docs gmake sun-jdk6 | |
wget http://production.cf.rubygems.org/rubygems/rubygems-1.8.10.tgz | |
tar -xzf rubygems-1.8.10.tgz | |
cd rubygems-1.8.10 | |
ruby setup.rb --no-format-executable | |
gem install --no-ri --no-rdoc json_pure | |
gem install --no-ri --no-rdoc -v=0.9.18 chef | |
mv /opt/local/lib/ruby/gems/1.9/gems/json-1.4.6 /tmp/ | |
ln -s /opt/local/lib/ruby/gems/1.9/gems/json_pure-1.6.1 /opt/local/lib/ruby/gems/1.9/gems/json-1.4.6 | |
fi | |
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 | |
( | |
cat <<'EOP' | |
<%= config_content %> | |
EOP | |
) > /etc/chef/client.rb | |
( | |
cat <<'EOP' | |
<%= { "run_list" => @run_list }.to_json %> | |
EOP | |
) > /etc/chef/first-boot.json | |
' |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Hey thanks for this. I just ran it successfully on a new SmartOS node after making a couple of small tweaks (see my fork at https://gist.github.com/1753987 -- had to add '-y' to pkgin to avoid interactive prompts, and removed sun-jdk6 because I couldn't come up with a way to get it to run non-interactively.)