bash -c '
<%= "export http_proxy=\"#{knife_config[:bootstrap_proxy]}\"" if knife_config[:bootstrap_proxy] -%>

if [ ! -f /usr/bin/chef-client ]; then
  aptitude update >/dev/null 2>&1
  aptitude install -yq ruby ruby1.8-dev build-essential wget libruby1.8 rubygems >/dev/null 2>&1
fi

gem update --no-rdoc --no-ri >/dev/null 2>&1
gem install ohai --no-rdoc --no-ri >/dev/null 2>&1
gem install chef --no-rdoc --no-ri <%= bootstrap_version_string %> >/dev/null 2>&1

# install gems required at load-time
gem install etcd --no-rdoc --no-ri >/dev/null 2>/dev/null

mkdir -p /etc/chef

cat > /etc/chef/validation.pem <<'EOP'
<%= validation_key %>
EOP
chmod 0600 /etc/chef/validation.pem

<% if encrypted_data_bag_secret -%>
cat > /etc/chef/encrypted_data_bag_secret <<'EOP'
<%= encrypted_data_bag_secret %>
EOP
chmod 0600 /etc/chef/encrypted_data_bag_secret
<% end -%>

<%# Generate Ohai Hints -%>
<% unless @chef_config[:knife][:hints].nil? || @chef_config[:knife][:hints].empty? -%>
mkdir -p /etc/chef/ohai/hints

<% @chef_config[:knife][:hints].each do |name, hash| -%>
cat > /etc/chef/ohai/hints/<%= name %>.json <<'EOP'
<%= hash.to_json %>
EOP
<% end -%>
<% end -%>

cat > /etc/chef/client.rb <<'EOP'
<%= config_content %>
EOP

cat > /etc/chef/first-boot.json <<'EOP'
<%= first_boot.to_json %>
EOP

<%= start_chef %>'