rig 0.4.4 → 0.4.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/conf/accounts/default.yml +39 -13
- data/conf/userdata/chef/userdata.sh.erb +63 -0
- data/conf/userdata/chef/userdata.yml +19 -0
- data/conf/userdata/chef/validation.pem +27 -0
- data/conf/userdata/default/userdata.sh.erb +32 -0
- data/conf/userdata/default/userdata.yml +14 -0
- data/lib/rig/command/abstract.rb +2 -0
- data/lib/rig/command/balancer/list.rb +4 -0
- data/lib/rig/command/environment/list.rb +3 -2
- data/lib/rig/command/main.rb +23 -3
- data/lib/rig/model/balancer.rb +5 -4
- data/lib/rig/model/environment.rb +2 -1
- data/lib/rig/model/userdata.rb +16 -97
- data/lib/rig/version.rb +1 -1
- metadata +7 -2
data/conf/accounts/default.yml
CHANGED
@@ -1,47 +1,73 @@
|
|
1
1
|
# The region for this account.
|
2
2
|
# Each account can have a different region, so you can
|
3
3
|
# manage deployments in different regions easily.
|
4
|
-
region: us-east-1
|
4
|
+
:region: us-east-1
|
5
5
|
|
6
6
|
# The DNS zone to manage.
|
7
7
|
# Generally this will be different for each account,
|
8
8
|
# but it is possible to have all of your accounts
|
9
9
|
# managed under a single zone... IF you are using
|
10
10
|
# the same DNS provider for all of your accounts.
|
11
|
-
dns_zone: blah.com
|
11
|
+
:dns_zone: blah.com
|
12
12
|
|
13
13
|
# this is the key that you will use to SSH to the server
|
14
|
-
keypair: keyname
|
14
|
+
:keypair: keyname
|
15
15
|
|
16
16
|
# security groups to use when creating instances
|
17
17
|
# groups configuration precedence:
|
18
18
|
# template instances -> template -> account -> config
|
19
|
-
# groups:
|
19
|
+
# :groups:
|
20
20
|
# - default
|
21
21
|
|
22
|
+
# Userdata package to use
|
23
|
+
#
|
24
|
+
# Userdata packages allow you to further customize the way
|
25
|
+
# the servers are configured.
|
26
|
+
#
|
27
|
+
# You can find these packages in your rig directory (~/.rig by default)
|
28
|
+
# ~/.rig/userdata/default
|
29
|
+
#
|
30
|
+
# The following are provided:
|
31
|
+
# "default" is a vanilla install
|
32
|
+
# "chef" is designed to bootstrap a chef implementation
|
33
|
+
#
|
34
|
+
# See the corresponding userdata.yml for more information
|
35
|
+
:userdata: default
|
36
|
+
|
22
37
|
# Common settings.
|
23
38
|
# In most cases, you will be using the same provider
|
24
39
|
# for all of the different components within your
|
25
40
|
# infrastructure (Compute, DNS, Balancers, etc).
|
26
41
|
# You can store the common keys and secrets here.
|
27
|
-
common: &common
|
28
|
-
aws_access_key_id: aws_key
|
29
|
-
aws_secret_access_key: aws_secret
|
42
|
+
:common: &common
|
43
|
+
:aws_access_key_id: aws_key
|
44
|
+
:aws_secret_access_key: aws_secret
|
30
45
|
|
31
46
|
# Compute settings
|
32
47
|
# These are passed to Fog when creating a connection
|
33
|
-
compute:
|
48
|
+
:compute:
|
34
49
|
<<: *common
|
35
|
-
provider: AWS
|
36
|
-
region: *region
|
50
|
+
:provider: AWS
|
51
|
+
:region: *region
|
37
52
|
|
38
53
|
# DNS settings
|
39
54
|
# These are passed to Fog when creating a connection
|
40
|
-
dns:
|
55
|
+
:dns:
|
41
56
|
<<: *common
|
42
|
-
provider: AWS
|
57
|
+
:provider: AWS
|
43
58
|
|
44
59
|
# Balancer settings
|
45
60
|
# These are passed to Fog when creating a connection
|
46
|
-
balancer:
|
61
|
+
:balancer:
|
47
62
|
<<: *common
|
63
|
+
|
64
|
+
# Database settings
|
65
|
+
# MongoDB and MySQL are supported
|
66
|
+
#:database:
|
67
|
+
# :provider: MongoDB # or MySQL
|
68
|
+
# :host: localhost
|
69
|
+
# :port: 27017
|
70
|
+
# :user: username
|
71
|
+
# :pass: password
|
72
|
+
# :admin_user: admin_username
|
73
|
+
# :admin_pass: admin_password
|
@@ -0,0 +1,63 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
set -e -x
|
3
|
+
exec > ~/userdata.log 2>&1
|
4
|
+
export DEBIAN_FRONTEND=noninteractive
|
5
|
+
apt-add-repository -y ppa:brightbox/ruby-ng-experimental
|
6
|
+
|
7
|
+
apt-get update
|
8
|
+
apt-get -y install <%= @dependencies.join(' ') %>
|
9
|
+
mkdir -p /var/log/chef
|
10
|
+
mkdir -p /var/backups/chef
|
11
|
+
mkdir -p /var/run/chef
|
12
|
+
mkdir -p /var/cache/chef
|
13
|
+
mkdir -p /var/lib/chef
|
14
|
+
mkdir /etc/chef
|
15
|
+
|
16
|
+
# set up hostname
|
17
|
+
hostname <%= @name %>.<%= @zone %>
|
18
|
+
echo "<%= @name %>.<%= @zone %>" > /etc/hostname
|
19
|
+
echo "127.0.0.1 <%= @name %>.<%= @zone %> <%= @name.split('.')[0] %> <%= @name %> # entered by userdata script" >> /etc/hosts
|
20
|
+
|
21
|
+
gem install rubygems-update --no-ri --no-rdoc
|
22
|
+
update_rubygems
|
23
|
+
|
24
|
+
<% @gems.each do |gem| %>
|
25
|
+
gem install <%= gem %> --no-ri --no-rdoc
|
26
|
+
<% end %>
|
27
|
+
|
28
|
+
cat <<FACTS > /etc/facts.yml
|
29
|
+
rig_name: <%= @name %>
|
30
|
+
rig_role: <%= @role %>
|
31
|
+
rig_environment: <%= @environment %>
|
32
|
+
FACTS
|
33
|
+
|
34
|
+
cat <<JSON > /etc/chef/bootstrap.json
|
35
|
+
{
|
36
|
+
"run_list": [
|
37
|
+
"role[<%= @role %>]"
|
38
|
+
]
|
39
|
+
}
|
40
|
+
JSON
|
41
|
+
|
42
|
+
cat <<CLIENT > /etc/chef/client.rb
|
43
|
+
log_level :info
|
44
|
+
log_location "/var/log/chef/client.log"
|
45
|
+
ssl_verify_mode :verify_none
|
46
|
+
validation_client_name "chef-validator"
|
47
|
+
validation_key "/etc/chef/validation.pem"
|
48
|
+
client_key "/etc/chef/client.pem"
|
49
|
+
chef_server_url "http://chef.inqlabs.com:4000";
|
50
|
+
file_cache_path "/var/cache/chef"
|
51
|
+
file_backup_path "/var/backups/chef"
|
52
|
+
pid_file "/var/run/chef/client.pid"
|
53
|
+
node_name "<%= @name %>";
|
54
|
+
Chef::Log::Formatter.show_time = true
|
55
|
+
CLIENT
|
56
|
+
|
57
|
+
<% @files.each do |file|; local = file["local"]; remote = file["remote"] %>
|
58
|
+
cat << <%= local.upcase %> > <%= remote %>
|
59
|
+
<%= File.open("#@directory/#{local}").read %>
|
60
|
+
<%= local.upcase %>
|
61
|
+
<% end %>
|
62
|
+
|
63
|
+
chef-client -N <%= @name %> <%= @chef && @environment ? "-E " + @environment : "" %> --once -j /etc/chef/bootstrap.json 2>&1
|
@@ -0,0 +1,19 @@
|
|
1
|
+
erb: userdata.sh.erb
|
2
|
+
files:
|
3
|
+
- local: validation.pem
|
4
|
+
remote: /etc/chef/validation.pem
|
5
|
+
dependencies:
|
6
|
+
- build-essential
|
7
|
+
- wget
|
8
|
+
- curl
|
9
|
+
- ssl-cert
|
10
|
+
- ruby1.9.3
|
11
|
+
- ruby1.9.1-dev
|
12
|
+
- rubygems
|
13
|
+
- ruby-switch
|
14
|
+
- libopenssl-ruby1.9.1
|
15
|
+
- rdoc1.9.1
|
16
|
+
- ri1.9.1
|
17
|
+
- irb1.9.1
|
18
|
+
gems:
|
19
|
+
- chef
|
@@ -0,0 +1,27 @@
|
|
1
|
+
-----BEGIN RSA PRIVATE KEY-----
|
2
|
+
MIIEpgIBAAKCAQEAxFST0blraLl7mac91QzSxNNZQt7A4Mo4O297e+r6F5b1+Eae
|
3
|
+
RNAH9w4p9sctLttIT8rI77hWrgS04f6mbamSaY+pAyWje+MX2s5YXizEML1Fdyr6
|
4
|
+
hV1n/vIMOmhcVwGbF3fg6BKwjur7A1dS+aOM1sEYi77hfbY4NHhLCQiR4v2m4saC
|
5
|
+
C9SPX7uNIzKvGB2P/5U+HNPaJuo6GAUsrOrTA/YB53Bza4DPMpyp9+Hf/ZR9l6Hd
|
6
|
+
4tCAp07dUNZ/LKKL4AmsnCqlT5EiYFIsaq2ezzPnS9t2FlFV60a2opbdEvq/QLbz
|
7
|
+
ouH6H+/4n/+BY9bVBCg1oBXHlLwbZmNl7Xl4wQIDAQABAoIBAQCFDIAkZ5C3psNx
|
8
|
+
bJoFkKwhQM1D+OsjK0eSV8mKP8J+TAqi11CYd5Z+QbYEjBQ9pdNKZ7VmZzkusvfW
|
9
|
+
E5m7xWf4a6fw/wfchBh9assN/y5xjULPMGwYByXb6zKIPoMdX3Q4IkBjZY8LO4ki
|
10
|
+
SYJstP5T5wX4ZkIvzFYokMDg/VLITUZPnxu+OunFF/vfl7mFOIrHtCj6LSpCk5xW
|
11
|
+
NsQqJWzK6/xjKH8KweWkl+E7k/ILUetXuCjKhj2XjiYUbzRH12e5jJIsEXRKWw8I
|
12
|
+
Iw5I8N4fWaXbTmoI+NUV+24BqwOfCH0RjoZXcc6LOxmxKDd8a00H3bCYj9GbpLed
|
13
|
+
oFcCY2OFAoGBAPSj4u2sSI1uMWNMivTbEYC5pYeltJgRYByazFHj5mHtPF7aDs2a
|
14
|
+
IWBfaaHbRIk7d9mIGYOrEiFFpDi5zWYo1gEbwqqOVw4cxL6coVA5mUMdZFDSGcpL
|
15
|
+
jwCIp9Yz92mOvygJEQosBIaMaBNTVY2GJPEo8Uhp0OstMDxIR9YrxdwjAoGBAM1y
|
16
|
+
atxCx8Z7Mua33x6gPxyyQVnqU/Hvpa9uTF0laAcwarsNlXczyfw/5TNJsEyTzbE1
|
17
|
+
6yJdm5GDS7L6whprx20SCHgpfBcAK6UGMMYsRvRz8kThLI7jgsXQjNXO8MNvaYwO
|
18
|
+
z9uVp+i1OVN0jURPwu6NsHcduSCP4asZwBIIOoPLAoGBAJdZQM5rlKMy9gkJ1Lnx
|
19
|
+
Qd3SfK7z/EtMDJsFxbwv81rIK14/J4NZhKabwL0q6za/fMEuqyJDVr8Q161kfcdj
|
20
|
+
IiqjYwajcwY/FBUcz8vTJpdX+rTplp0Jq9nXsYYatkkuz+JT4Z/aZZ5cBRNXrgkV
|
21
|
+
YYt1GfkDxgWI+luBGDhO8mTjAoGBAJ5j3dreaWKuTLnvfEcCSGX5T8TgkcNufRBZ
|
22
|
+
Oup9EkyomUCI4ni6JrkhEbWO1CrVsLk01ojyHiP7U3szND5mZaPDSWBKq26YJQ3f
|
23
|
+
Te8a58FDOr670zx+Tq3vcQTNvHUQChF+weWK5Z7VSNL8goTt8V01Q50x/y4Jf3QI
|
24
|
+
MDo2udYtAoGBAKk596lHuH5/LEjT5hfVrbarSvUjlXswJusZGnwbtEUERY7abUbG
|
25
|
+
5mtI+Xme2q6T0Wjf6N977ecNYAi5VwpUzoziZUPeSCQUlRWSyX2o6+fVBngOFpLZ
|
26
|
+
tRv2ngXlc2sYh9RbnlWSdaK0g+U7V8l2wSsQjcPQ1J2vbIGjwBHDSzjc
|
27
|
+
-----END RSA PRIVATE KEY-----
|
@@ -0,0 +1,32 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
set -e -x
|
3
|
+
exec > ~/userdata.log 2>&1
|
4
|
+
export DEBIAN_FRONTEND=noninteractive
|
5
|
+
apt-add-repository -y ppa:brightbox/ruby-ng-experimental
|
6
|
+
|
7
|
+
apt-get update
|
8
|
+
apt-get -y install <%= @dependencies.join(' ') %>
|
9
|
+
|
10
|
+
# set up hostname
|
11
|
+
hostname <%= @name %>.<%= @zone %>
|
12
|
+
echo "<%= @name %>.<%= @zone %>" > /etc/hostname
|
13
|
+
echo "127.0.0.1 <%= @name %>.<%= @zone %> <%= @name.split('.')[0] %> <%= @name %> # entered by userdata script" >> /etc/hosts
|
14
|
+
|
15
|
+
gem install rubygems-update --no-ri --no-rdoc
|
16
|
+
update_rubygems
|
17
|
+
|
18
|
+
<% @gems.each do |gem| %>
|
19
|
+
gem install <%= gem %> --no-ri --no-rdoc
|
20
|
+
<% end %>
|
21
|
+
|
22
|
+
cat <<FACTS > /etc/facts.yml
|
23
|
+
rig_name: <%= @name %>
|
24
|
+
rig_role: <%= @role %>
|
25
|
+
rig_environment: <%= @environment %>
|
26
|
+
FACTS
|
27
|
+
|
28
|
+
<% @files.each do |file|; local = file["local"]; remote = file["remote"] %>
|
29
|
+
cat << <%= local.upcase %> > <%= remote %>
|
30
|
+
<%= File.open("#@directory/#{local}").read %>
|
31
|
+
<%= local.upcase %>
|
32
|
+
<% end %>
|
data/lib/rig/command/abstract.rb
CHANGED
@@ -34,6 +34,7 @@ module Rig
|
|
34
34
|
if detailed
|
35
35
|
r << server.private_ip_address.to_s
|
36
36
|
end
|
37
|
+
r << server.availability_zone
|
37
38
|
r << server.flavor_id.to_s
|
38
39
|
r << server.id.to_s
|
39
40
|
r << server.state.to_s.downcase
|
@@ -50,6 +51,7 @@ module Rig
|
|
50
51
|
cols << "Protected"
|
51
52
|
cols << "Public IP"
|
52
53
|
cols << "Private IP" if detailed
|
54
|
+
cols << "AZ"
|
53
55
|
cols << "Size"
|
54
56
|
cols << "Instance ID"
|
55
57
|
cols << "State"
|
@@ -17,9 +17,10 @@ module Rig
|
|
17
17
|
rows = []
|
18
18
|
envs.each do |e|
|
19
19
|
env = Rig::Model::Environment.find(e)
|
20
|
-
|
20
|
+
zones = env.servers.collect {|e| e.availability_zone }
|
21
|
+
rows << [env.name, env.template, env.region, env.servers.count, env.balancers.count, env.protected?, zones]
|
21
22
|
end
|
22
|
-
print_table(%w{Name Template Region Servers# Balancers# Protected?}, rows)
|
23
|
+
print_table(%w{Name Template Region Servers# Balancers# Protected? AZs}, rows)
|
23
24
|
end
|
24
25
|
end
|
25
26
|
end
|
data/lib/rig/command/main.rb
CHANGED
@@ -25,6 +25,17 @@ module Rig
|
|
25
25
|
File.open(dest, "w") {|f| f.write(new.to_yaml)}
|
26
26
|
end
|
27
27
|
|
28
|
+
subcommand "userdata", "test userdata" do
|
29
|
+
parameter "NAME", "name of server"
|
30
|
+
parameter "ROLE", "role of server"
|
31
|
+
parameter "ENVIRONMENT", "environment of server"
|
32
|
+
|
33
|
+
def execute
|
34
|
+
userdata = Rig::Model::Userdata.create(name, role, environment)
|
35
|
+
puts "USERDATA:\n#{userdata}"
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
28
39
|
subcommand "init", "initialize configuration directory" do
|
29
40
|
option %w{-f --force}, :flag, "force creation of files", :default => false
|
30
41
|
option %w{-d --directory}, "DIRECTORY", "configuration directory", :default => "~/.rig"
|
@@ -34,7 +45,17 @@ module Rig
|
|
34
45
|
back = "#{dir}.bak.#{Time.now.to_i}"
|
35
46
|
conf = File.expand_path("../../../../conf", __FILE__)
|
36
47
|
|
37
|
-
files =
|
48
|
+
files = %w{
|
49
|
+
config.yml
|
50
|
+
accounts/default.yml
|
51
|
+
templates/solo.yml
|
52
|
+
templates/multi.yml
|
53
|
+
userdata/default/userdata.sh.erb
|
54
|
+
userdata/default/userdata.yml
|
55
|
+
userdata/chef/userdata.sh.erb
|
56
|
+
userdata/chef/userdata.yml
|
57
|
+
userdata/chef/validation.pem
|
58
|
+
}
|
38
59
|
|
39
60
|
unless dir
|
40
61
|
puts "directory could not be found: tried environment variables RIG_CONFIG (#{ENV['RIG_CONFIG']}) and HOME (#{ENV['HOME']}"
|
@@ -50,12 +71,11 @@ module Rig
|
|
50
71
|
|
51
72
|
puts "[create] #{dir}/"
|
52
73
|
FileUtils.mkdir_p(dir)
|
53
|
-
FileUtils.mkdir_p("#{dir}/accounts")
|
54
|
-
FileUtils.mkdir_p("#{dir}/templates")
|
55
74
|
|
56
75
|
files.each do |file|
|
57
76
|
src = "#{conf}/#{file}"
|
58
77
|
dest = "#{dir}/#{file}"
|
78
|
+
FileUtils.mkdir_p(File.dirname(dest))
|
59
79
|
if File.exists?(dest) && !force?
|
60
80
|
puts "[skip] #{dest}"
|
61
81
|
else
|
data/lib/rig/model/balancer.rb
CHANGED
@@ -8,18 +8,19 @@ module Rig
|
|
8
8
|
Rig::Connection.balancer.load_balancers.all
|
9
9
|
end
|
10
10
|
|
11
|
-
def new(name, listeners=[])
|
11
|
+
def new(name, listeners=[], zones=[])
|
12
|
+
fog = Rig::Connection.balancer
|
12
13
|
listeners.map! do |listener|
|
13
14
|
ld = new_listener_description(listener)
|
14
15
|
#ap ld
|
15
16
|
ld
|
16
17
|
end
|
17
18
|
#ap listeners
|
18
|
-
|
19
|
+
fog.load_balancers.new({ :id => name, "ListenerDescriptions" => listeners, :availability_zones => zones })
|
19
20
|
end
|
20
21
|
|
21
|
-
def create(name, listeners=[])
|
22
|
-
b = self.new(name, listeners)
|
22
|
+
def create(name, listeners=[], zones=[])
|
23
|
+
b = self.new(name, listeners, zones)
|
23
24
|
b.save if b
|
24
25
|
puts ".. created: #{name}"
|
25
26
|
b
|
@@ -90,7 +90,8 @@ module Rig
|
|
90
90
|
|
91
91
|
if tmpl[:balance]
|
92
92
|
puts "creating balancer"
|
93
|
-
|
93
|
+
zones = setinstances.collect {|e| e.availability_zone }
|
94
|
+
balancer = Rig::Model::Balancer.create("#{name}-#{role}", tmpl[:listeners], zones)
|
94
95
|
balancer.register_instances(setinstances.collect { |e| e.id })
|
95
96
|
balancer.save
|
96
97
|
|
data/lib/rig/model/userdata.rb
CHANGED
@@ -1,111 +1,30 @@
|
|
1
1
|
require 'erubis'
|
2
|
+
require 'awesome_print'
|
2
3
|
|
3
4
|
module Rig
|
4
5
|
module Model
|
5
6
|
class Userdata
|
6
7
|
class << self
|
7
8
|
def create(name, role, environment, opts={ })
|
8
|
-
|
9
|
+
package = Rig.get_config(:userdata)
|
10
|
+
directory = "#{Rig.configdir}/userdata/#{package}"
|
11
|
+
config = YAML.load_file("#{directory}/userdata.yml")
|
12
|
+
|
13
|
+
data = {
|
9
14
|
:name => name,
|
10
15
|
:role => role,
|
11
16
|
:environment => environment,
|
12
17
|
:zone => Rig.get_config(:dns_zone),
|
13
|
-
:dependencies =>
|
14
|
-
|
15
|
-
:
|
16
|
-
:
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
apt-add-repository -y ppa:brightbox/ruby-ng-experimental
|
24
|
-
|
25
|
-
apt-get update && apt-get upgrade -y
|
26
|
-
apt-get -y install <%= @dependencies.join(' ') %>
|
27
|
-
mkdir -p /var/log/chef
|
28
|
-
mkdir -p /var/backups/chef
|
29
|
-
mkdir -p /var/run/chef
|
30
|
-
mkdir -p /var/cache/chef
|
31
|
-
mkdir -p /var/lib/chef
|
32
|
-
mkdir /etc/chef
|
33
|
-
|
34
|
-
# set up hostname
|
35
|
-
hostname <%= @name %>.<%= @zone %>
|
36
|
-
echo "<%= @name %>.<%= @zone %>" > /etc/hostname
|
37
|
-
echo "127.0.0.1 <%= @name %>.<%= @zone %> <%= @name.split('.')[0] %> <%= @name %> # entered by userdata script" >> /etc/hosts
|
38
|
-
|
39
|
-
gem install rubygems-update --no-ri --no-rdoc
|
40
|
-
update_rubygems
|
41
|
-
|
42
|
-
<% @gems.each do |gem| %>
|
43
|
-
gem install <%= gem %> --no-ri --no-rdoc
|
44
|
-
<% end %>
|
45
|
-
|
46
|
-
cat <<FACTS > /etc/facts.yml
|
47
|
-
inq_name: <%= @name %>
|
48
|
-
inq_role: <%= @role %>
|
49
|
-
inq_environment: <%= @environment %>
|
50
|
-
FACTS
|
51
|
-
|
52
|
-
cat <<JSON > /etc/chef/bootstrap.json
|
53
|
-
{
|
54
|
-
"run_list": [
|
55
|
-
"role[<%= @role %>]"
|
56
|
-
]
|
57
|
-
}
|
58
|
-
JSON
|
59
|
-
|
60
|
-
cat <<CLIENT > /etc/chef/client.rb
|
61
|
-
log_level :info
|
62
|
-
log_location "/var/log/chef/client.log"
|
63
|
-
ssl_verify_mode :verify_none
|
64
|
-
validation_client_name "chef-validator"
|
65
|
-
validation_key "/etc/chef/validation.pem"
|
66
|
-
client_key "/etc/chef/client.pem"
|
67
|
-
chef_server_url "http://chef.inqlabs.com:4000";
|
68
|
-
file_cache_path "/var/cache/chef"
|
69
|
-
file_backup_path "/var/backups/chef"
|
70
|
-
pid_file "/var/run/chef/client.pid"
|
71
|
-
node_name "<%= @name %>";
|
72
|
-
Chef::Log::Formatter.show_time = true
|
73
|
-
CLIENT
|
74
|
-
|
75
|
-
cat <<VALID > /etc/chef/validation.pem
|
76
|
-
-----BEGIN RSA PRIVATE KEY-----
|
77
|
-
MIIEpgIBAAKCAQEAxFST0blraLl7mac91QzSxNNZQt7A4Mo4O297e+r6F5b1+Eae
|
78
|
-
RNAH9w4p9sctLttIT8rI77hWrgS04f6mbamSaY+pAyWje+MX2s5YXizEML1Fdyr6
|
79
|
-
hV1n/vIMOmhcVwGbF3fg6BKwjur7A1dS+aOM1sEYi77hfbY4NHhLCQiR4v2m4saC
|
80
|
-
C9SPX7uNIzKvGB2P/5U+HNPaJuo6GAUsrOrTA/YB53Bza4DPMpyp9+Hf/ZR9l6Hd
|
81
|
-
4tCAp07dUNZ/LKKL4AmsnCqlT5EiYFIsaq2ezzPnS9t2FlFV60a2opbdEvq/QLbz
|
82
|
-
ouH6H+/4n/+BY9bVBCg1oBXHlLwbZmNl7Xl4wQIDAQABAoIBAQCFDIAkZ5C3psNx
|
83
|
-
bJoFkKwhQM1D+OsjK0eSV8mKP8J+TAqi11CYd5Z+QbYEjBQ9pdNKZ7VmZzkusvfW
|
84
|
-
E5m7xWf4a6fw/wfchBh9assN/y5xjULPMGwYByXb6zKIPoMdX3Q4IkBjZY8LO4ki
|
85
|
-
SYJstP5T5wX4ZkIvzFYokMDg/VLITUZPnxu+OunFF/vfl7mFOIrHtCj6LSpCk5xW
|
86
|
-
NsQqJWzK6/xjKH8KweWkl+E7k/ILUetXuCjKhj2XjiYUbzRH12e5jJIsEXRKWw8I
|
87
|
-
Iw5I8N4fWaXbTmoI+NUV+24BqwOfCH0RjoZXcc6LOxmxKDd8a00H3bCYj9GbpLed
|
88
|
-
oFcCY2OFAoGBAPSj4u2sSI1uMWNMivTbEYC5pYeltJgRYByazFHj5mHtPF7aDs2a
|
89
|
-
IWBfaaHbRIk7d9mIGYOrEiFFpDi5zWYo1gEbwqqOVw4cxL6coVA5mUMdZFDSGcpL
|
90
|
-
jwCIp9Yz92mOvygJEQosBIaMaBNTVY2GJPEo8Uhp0OstMDxIR9YrxdwjAoGBAM1y
|
91
|
-
atxCx8Z7Mua33x6gPxyyQVnqU/Hvpa9uTF0laAcwarsNlXczyfw/5TNJsEyTzbE1
|
92
|
-
6yJdm5GDS7L6whprx20SCHgpfBcAK6UGMMYsRvRz8kThLI7jgsXQjNXO8MNvaYwO
|
93
|
-
z9uVp+i1OVN0jURPwu6NsHcduSCP4asZwBIIOoPLAoGBAJdZQM5rlKMy9gkJ1Lnx
|
94
|
-
Qd3SfK7z/EtMDJsFxbwv81rIK14/J4NZhKabwL0q6za/fMEuqyJDVr8Q161kfcdj
|
95
|
-
IiqjYwajcwY/FBUcz8vTJpdX+rTplp0Jq9nXsYYatkkuz+JT4Z/aZZ5cBRNXrgkV
|
96
|
-
YYt1GfkDxgWI+luBGDhO8mTjAoGBAJ5j3dreaWKuTLnvfEcCSGX5T8TgkcNufRBZ
|
97
|
-
Oup9EkyomUCI4ni6JrkhEbWO1CrVsLk01ojyHiP7U3szND5mZaPDSWBKq26YJQ3f
|
98
|
-
Te8a58FDOr670zx+Tq3vcQTNvHUQChF+weWK5Z7VSNL8goTt8V01Q50x/y4Jf3QI
|
99
|
-
MDo2udYtAoGBAKk596lHuH5/LEjT5hfVrbarSvUjlXswJusZGnwbtEUERY7abUbG
|
100
|
-
5mtI+Xme2q6T0Wjf6N977ecNYAi5VwpUzoziZUPeSCQUlRWSyX2o6+fVBngOFpLZ
|
101
|
-
tRv2ngXlc2sYh9RbnlWSdaK0g+U7V8l2wSsQjcPQ1J2vbIGjwBHDSzjc
|
102
|
-
-----END RSA PRIVATE KEY-----
|
103
|
-
VALID
|
104
|
-
|
105
|
-
chef-client -N <%= @name %> <%= @chef && @environment ? "-E " + @environment : "" %> --once -j /etc/chef/bootstrap.json 2>&1
|
106
|
-
EOF
|
107
|
-
erb = Erubis::Eruby.new(template)
|
108
|
-
out = erb.evaluate(data)
|
18
|
+
:dependencies => [],
|
19
|
+
:gems => [],
|
20
|
+
:files => [],
|
21
|
+
:directory => directory,
|
22
|
+
:template => "userdata.sh.erb",
|
23
|
+
}.merge(config).merge(opts)
|
24
|
+
|
25
|
+
template = File.open("#{directory}/#{data[:template]}").read
|
26
|
+
erb = Erubis::Eruby.new(template)
|
27
|
+
out = erb.evaluate(data)
|
109
28
|
end
|
110
29
|
end
|
111
30
|
end
|
data/lib/rig/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rig
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.5
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-05-
|
12
|
+
date: 2012-05-24 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: clamp
|
@@ -126,6 +126,11 @@ files:
|
|
126
126
|
- conf/config.yml
|
127
127
|
- conf/templates/multi.yml
|
128
128
|
- conf/templates/solo.yml
|
129
|
+
- conf/userdata/chef/userdata.sh.erb
|
130
|
+
- conf/userdata/chef/userdata.yml
|
131
|
+
- conf/userdata/chef/validation.pem
|
132
|
+
- conf/userdata/default/userdata.sh.erb
|
133
|
+
- conf/userdata/default/userdata.yml
|
129
134
|
- lib/rig.rb
|
130
135
|
- lib/rig/capistrano.rb
|
131
136
|
- lib/rig/chef.rb
|