bigfleet (owner)

Fork Of

Revisions

gist: 75049 Download_button fork
public
Public Clone URL: git://gist.github.com/75049.git
Embed All Files: show embed
Bash #
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#!/bin/sh
#
# EC2 bootstrap
#
 
mkdir /etc/chef
mkdir /var/chef
 
cat > /etc/chef/solo.rb <<SOLO
cookbook_path "/var/chef/cookbooks"
node_path "/var/chef/nodes"
log_level :info
file_store_path "/var/chef"
file_cache_path "/var/chef"
SOLO
 
cat > /etc/chef/bootstrap.json <<BOOTSTRAP
{"assigned_hostname": "<%= @hostname %>",
"assigned_domain": "<%= @domain %>",
"public_fqdn": "<%= @public_fqdn %>",
"role": "<%= @role %>",
"recipes": ["ec2"]
}
BOOTSTRAP
 
cat > /etc/chef/init.json <<INIT
{"role": "<%= @role %>",
"recipes": ["ddclient", "base", "chef::client"]
}
INIT
 
echo <%= @validation_token %> > /etc/chef/validation_token
 
cat > /etc/resolv.conf <<DNS
search <%= @domain %>
nameserver <%= @primary_nameserver_ip %>
DNS
 
wget -P /tmp http://dist/ruby-enterprise_1.8.6-20090201_i386.deb
dpkg -i /tmp/ruby-enterprise_1.8.6-20090201_i386.deb
gem sources -a http://gems
gem sources -a http://gems.opscode.com
gem install chef --no-rdoc --no-ri
 
chef-solo -j /etc/ec2/bootstrap.json -r https://chef/cookbooks.tgz
chef-solo -j /etc/ec2/init.json