#!/bin/env bash <%= ZTK::Template.do_not_edit_notice(:message => "Chef RubyGem Bootstrap") %> set -x set -e export DEBIAN_FRONTEND="noninteractive" export CHEF_SOLO_ROOT="/tmp/chef-solo" export SUDO_USER="<%= @sudo_user %>" export SUDO_UID="<%= @sudo_uid %>" export SUDO_GID="<%= @sudo_gid %>" export HOME="<%= @home_dir %>" export mkdir -pv ${CHEF_SOLO_ROOT} cd ${CHEF_SOLO_ROOT} apt-get -qy update apt-get -qy install build-essential expect wget curl libgecode-dev ca-certificates ruby1.8 rubygems mkdir -pv /etc/chef /var/log/chef ${HOME}/.chef cat < EOF cat < gem '<%= chef_gem %>', '<%= @chef[:server][:version] %>' <% end -%> gem 'haml', '< 4.0.0' gem 'moneta', '< 0.7.0' gem 'mime-types', '< 2.0.0' gem 'librarian-chef' EOF gem install bundler --no-ri --no-rdoc bundle install update-alternatives --install /usr/bin/chef-client chef-client /usr/local/bin/chef-client 500 update-alternatives --install /usr/bin/chef-server chef-server /usr/local/bin/chef-server 500 update-alternatives --install /usr/bin/chef-server-webui chef-server-webui /usr/local/bin/chef-server-webui 500 update-alternatives --install /usr/bin/chef-expander chef-expander /usr/local/bin/chef-expander 500 update-alternatives --install /usr/bin/chef-expanderctl chef-expanderctl /usr/local/bin/chef-expanderctl 500 update-alternatives --install /usr/bin/chef-expander-vnode chef-expander-vnode /usr/local/bin/chef-expander-vnode 500 update-alternatives --install /usr/bin/chef-solr chef-solr /usr/local/bin/chef-solr 500 update-alternatives --install /usr/bin/chef-solr-installer chef-solr-installer /usr/local/bin/chef-solr-installer 500 update-alternatives --install /usr/bin/chef-solo chef-solo /usr/local/bin/chef-solo 500 update-alternatives --install /usr/bin/knife knife /usr/local/bin/knife 500 cat < and <%= File.basename(@chef_webui) %> to appear..." until [ -f <%= @chef_validator %> ] && [ -f <%= @chef_webui %> ]; do echo -n "." sleep 1 done echo "done." cp -v <%= @chef_validator %> <%= @chef_webui %> ~/.chef [ -f <%= @home_dir %>/.chef/<%= @sudo_user %>.pem ] || knife configure --initial --server-url <%= @chef[:server][:server_url] %> --user <%= @sudo_user %> --repository '' --defaults --yes -VV [ -f <%= @home_dir %>/.chef/<%= @local_user %>.pem ] || knife client create <%= @local_user %> --server-url <%= @chef[:server][:server_url] %> --user <%= @sudo_user %> --key <%= @home_dir %>/.chef/<%= @sudo_user %>.pem --admin --file <%= @home_dir %>/.chef/<%= @local_user %>.pem --editor echo --disable-editing --defaults --yes -VV chown -Rv ${SUDO_USER}:${SUDO_USER} ${HOME} touch /.ruby-gem-server-provision