silver_spurs 2.0.0.rc3 → 2.0.0.rc4
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/lib/silver_spurs/app.rb +9 -7
- data/lib/silver_spurs/chef_interface.rb +4 -8
- data/lib/silver_spurs/client/chef_output.rb +5 -11
- data/lib/silver_spurs/client.rb +5 -5
- data/lib/silver_spurs/version.rb +1 -1
- data/silver_spurs.gemspec +1 -1
- data/spec/lib/silver_spurs/chef_interface_spec.rb +14 -10
- data/spec/lib/silver_spurs/client/{chef_run_spec.rb → chef_output_spec.rb} +15 -13
- metadata +36 -9
- checksums.yaml +0 -15
data/lib/silver_spurs/app.rb
CHANGED
@@ -11,18 +11,21 @@ module SilverSpurs
|
|
11
11
|
|
12
12
|
set :deployment_key, "/etc/chef/deployment_key.pem"
|
13
13
|
set :deployment_user, "silverspurs"
|
14
|
-
|
14
|
+
|
15
|
+
default_chef_config = {
|
15
16
|
server_url: 'http://localhost:4000',
|
16
17
|
client_name: 'silver_spurs',
|
17
18
|
client_key: '/etc/chef/silver_spurs.pem',
|
18
19
|
ssh: {
|
19
20
|
user: settings.deployment_user,
|
20
21
|
keys: [ settings.deployment_key ],
|
21
|
-
paranoid: false
|
22
|
+
paranoid: false,
|
23
|
+
sudo: false
|
22
24
|
}
|
23
25
|
}
|
24
|
-
|
25
|
-
set :
|
26
|
+
|
27
|
+
set :chef_config, default_chef_config
|
28
|
+
set :node_name_filter, /^[-A-Za-z0-9]{3,15}$/ # sane setting for AD subdomain
|
26
29
|
|
27
30
|
get '/' do
|
28
31
|
%q| Ride 'em, cowboy |
|
@@ -55,8 +58,7 @@ module SilverSpurs
|
|
55
58
|
[arg, params[arg]]
|
56
59
|
end]
|
57
60
|
|
58
|
-
command = KnifeInterface.bootstrap_command(
|
59
|
-
params[:ip],
|
61
|
+
command = KnifeInterface.bootstrap_command(params[:ip],
|
60
62
|
node_name,
|
61
63
|
settings.deployment_user,
|
62
64
|
settings.deployment_key,
|
@@ -96,7 +98,7 @@ module SilverSpurs
|
|
96
98
|
|
97
99
|
post '/kick/:ip' do
|
98
100
|
run_list = params[:run] || []
|
99
|
-
chef
|
101
|
+
chef = ChefInterface.new(settings.chef_config)
|
100
102
|
begin
|
101
103
|
chef.chef_run(params[:ip], run_list).to_json
|
102
104
|
rescue SilverSpurs::NodeNotFoundException
|
@@ -1,5 +1,3 @@
|
|
1
|
-
require 'singleton'
|
2
|
-
require 'forwardable'
|
3
1
|
require 'ridley'
|
4
2
|
require 'silver_spurs/chef_exceptions'
|
5
3
|
|
@@ -12,9 +10,9 @@ module SilverSpurs
|
|
12
10
|
|
13
11
|
def chef_run(node_name, run_list = [])
|
14
12
|
node = find_node node_name
|
13
|
+
hostname = find_hostname(node_name, node)
|
15
14
|
if run_list.size > 0
|
16
|
-
|
17
|
-
ridley.node.execute_command find_hostname(node_name, node), command
|
15
|
+
ridley.node.run hostname, "chef-client -o '#{run_list.join(',')}'"
|
18
16
|
else
|
19
17
|
node.chef_run
|
20
18
|
end
|
@@ -22,9 +20,7 @@ module SilverSpurs
|
|
22
20
|
|
23
21
|
def update_node_attributes(node_name, attributes)
|
24
22
|
node = find_node node_name
|
25
|
-
attributes.each
|
26
|
-
node.set_chef_attribute attribute_name, value
|
27
|
-
end
|
23
|
+
attributes.each { |attr_name, value| node.set_chef_attribute(attr_name, value) }
|
28
24
|
node.save
|
29
25
|
end
|
30
26
|
|
@@ -44,7 +40,7 @@ module SilverSpurs
|
|
44
40
|
def find_hostname(node_name, node)
|
45
41
|
return node.public_hostname if node.public_hostname
|
46
42
|
return node.public_ipv4 if node.public_ipv4
|
47
|
-
|
43
|
+
node_name
|
48
44
|
end
|
49
45
|
|
50
46
|
end
|
@@ -15,20 +15,14 @@ module SilverSpurs
|
|
15
15
|
private
|
16
16
|
|
17
17
|
def convert_status(response)
|
18
|
-
|
19
|
-
|
20
|
-
when 'ok'
|
21
|
-
:success
|
22
|
-
when 'error'
|
23
|
-
:failed
|
24
|
-
end
|
18
|
+
failure = (response['exit_code'] == 1) || (response['exit_status'] == 1)
|
19
|
+
failure ? :failed : :success
|
25
20
|
end
|
26
21
|
|
27
22
|
def prettify_log(response)
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
exit_code = run_info['exit_code'] || run_info['exit_status']
|
23
|
+
stdout = response['stdout']
|
24
|
+
stderr = response['stderr']
|
25
|
+
exit_code = response['exit_code'] || response['exit_status']
|
32
26
|
|
33
27
|
template = ERB.new <<-END
|
34
28
|
Exit Code: <%= exit_code %>
|
data/lib/silver_spurs/client.rb
CHANGED
@@ -29,7 +29,7 @@ module SilverSpurs
|
|
29
29
|
|
30
30
|
def start_chef_run(host_name, runlist = [])
|
31
31
|
response = gracefully_handle_rest_call do
|
32
|
-
spur_host["kick/#{host_name}"].post
|
32
|
+
spur_host["kick/#{host_name}"].post({ :run => runlist })
|
33
33
|
end
|
34
34
|
ChefOutput.new JSON.parse(response)
|
35
35
|
end
|
@@ -46,10 +46,10 @@ module SilverSpurs
|
|
46
46
|
def gracefully_handle_rest_call(&rest_call)
|
47
47
|
begin
|
48
48
|
response = rest_call.call
|
49
|
-
rescue RestClient::ResourceNotFound
|
50
|
-
raise ClientException.new("the host name was not found", response)
|
51
|
-
rescue Exception
|
52
|
-
raise ClientException.new("an unanticipated error occured",
|
49
|
+
rescue RestClient::ResourceNotFound => ex
|
50
|
+
raise ClientException.new("the host name was not found", ex.response)
|
51
|
+
rescue Exception => ex
|
52
|
+
raise ClientException.new("an unanticipated error occured", ex.message)
|
53
53
|
end
|
54
54
|
|
55
55
|
response
|
data/lib/silver_spurs/version.rb
CHANGED
data/silver_spurs.gemspec
CHANGED
@@ -19,7 +19,7 @@ Gem::Specification.new do |gem|
|
|
19
19
|
gem.add_dependency 'chef', '>= 10.18.2'
|
20
20
|
gem.add_dependency 'rest-client', '~> 1.6.7'
|
21
21
|
gem.add_dependency 'addressable', '~> 2.3.3'
|
22
|
-
gem.add_dependency
|
22
|
+
gem.add_dependency 'ridley', '~> 1.1.1'
|
23
23
|
|
24
24
|
gem.add_development_dependency 'guard'
|
25
25
|
gem.add_development_dependency 'guard-rspec'
|
@@ -10,6 +10,7 @@ describe SilverSpurs::ChefInterface do
|
|
10
10
|
@ridley = double('ridley')
|
11
11
|
@node_resource = double('node_resource')
|
12
12
|
@node_obj = double('node_obj')
|
13
|
+
@node_obj.stub(:public_hostname).and_return 'node_name'
|
13
14
|
|
14
15
|
@chef_i.stub(:ridley).and_return @ridley
|
15
16
|
@ridley.stub(:node).and_return @node_resource
|
@@ -17,7 +18,7 @@ describe SilverSpurs::ChefInterface do
|
|
17
18
|
|
18
19
|
it 'finds a node and then launches a chef run' do
|
19
20
|
@chef_i.should_receive(:find_node).and_return @node_obj
|
20
|
-
@node_obj.should_receive
|
21
|
+
@node_obj.should_receive :chef_run
|
21
22
|
|
22
23
|
@chef_i.chef_run 'node'
|
23
24
|
end
|
@@ -25,25 +26,28 @@ describe SilverSpurs::ChefInterface do
|
|
25
26
|
context 'with a run list' do
|
26
27
|
before :each do
|
27
28
|
@chef_i.stub(:find_node).and_return @node_obj
|
29
|
+
@node_obj.stub(:merge_data)
|
30
|
+
@node_resource.stub(:run)
|
31
|
+
@run_list = ['recipe[one]', 'recipe[two]']
|
28
32
|
end
|
29
33
|
|
30
34
|
after :each do
|
31
|
-
@chef_i.chef_run 'node_name',
|
35
|
+
@chef_i.chef_run 'node_name', @run_list
|
32
36
|
end
|
33
37
|
|
34
|
-
it 'should call
|
35
|
-
@
|
36
|
-
@node_resource.should_receive(:execute_command)
|
38
|
+
it 'should call run off of the node resource' do
|
39
|
+
@node_resource.should_receive(:run)
|
37
40
|
end
|
38
41
|
|
42
|
+
|
39
43
|
it 'should pass in the host name from the node object' do
|
40
44
|
@chef_i.should_receive(:find_hostname).and_return 'hostname'
|
41
|
-
@node_resource.should_receive(:
|
45
|
+
@node_resource.should_receive(:run).with('hostname', anything)
|
42
46
|
end
|
43
47
|
|
44
|
-
it 'should pass in the run list
|
45
|
-
@
|
46
|
-
|
48
|
+
it 'should pass in the run list to ridley if provided' do
|
49
|
+
@node_resource.should_receive(:run)
|
50
|
+
.with(kind_of(String), /^(.+)'recipe\[one],recipe\[two]'$/)
|
47
51
|
end
|
48
52
|
end
|
49
53
|
|
@@ -56,7 +60,7 @@ describe SilverSpurs::ChefInterface do
|
|
56
60
|
@chef_i.stub(:find_node).and_return @node_obj
|
57
61
|
end
|
58
62
|
|
59
|
-
it 'should call
|
63
|
+
it 'should call #run off of the node object' do
|
60
64
|
@node_obj.should_receive :chef_run
|
61
65
|
end
|
62
66
|
end
|
@@ -3,16 +3,16 @@ require 'silver_spurs/client/chef_output'
|
|
3
3
|
describe SilverSpurs::ChefOutput do
|
4
4
|
describe :convert_status do
|
5
5
|
before :each do
|
6
|
-
@chef_run = SilverSpurs::ChefOutput.new(
|
6
|
+
@chef_run = SilverSpurs::ChefOutput.new({'stdout' => '', 'stderr' => '', 'exit_code' => 0, 'exit_status' => 0})
|
7
7
|
end
|
8
8
|
|
9
9
|
def call_convert_status(response)
|
10
10
|
@chef_run.send(:convert_status, response)
|
11
11
|
end
|
12
12
|
|
13
|
-
context '
|
13
|
+
context 'exit code and status = 0' do
|
14
14
|
before :each do
|
15
|
-
@response =
|
15
|
+
@response = { 'exit_code' => 0, 'exit_status' => 0}
|
16
16
|
end
|
17
17
|
|
18
18
|
it "should return :success" do
|
@@ -20,12 +20,14 @@ describe SilverSpurs::ChefOutput do
|
|
20
20
|
end
|
21
21
|
end
|
22
22
|
|
23
|
-
context '
|
24
|
-
|
25
|
-
@response =
|
23
|
+
context 'exit code or status = 1' do
|
24
|
+
it "should return :failed" do
|
25
|
+
@response = { 'exit_code' => 0, 'exit_status' => 1}
|
26
|
+
call_convert_status(@response).should eq :failed
|
26
27
|
end
|
27
28
|
|
28
29
|
it "should return :failed" do
|
30
|
+
@response = { 'exit_code' => 1, 'exit_status' => 0}
|
29
31
|
call_convert_status(@response).should eq :failed
|
30
32
|
end
|
31
33
|
end
|
@@ -34,7 +36,7 @@ describe SilverSpurs::ChefOutput do
|
|
34
36
|
|
35
37
|
describe :prettify_log do
|
36
38
|
before :each do
|
37
|
-
@chef_run = SilverSpurs::ChefOutput.new(
|
39
|
+
@chef_run = SilverSpurs::ChefOutput.new({'stdout' => '', 'stderr' => '', 'exit_code' => 0, 'exit_status' => 0})
|
38
40
|
end
|
39
41
|
|
40
42
|
def call_prettify_log(response)
|
@@ -42,39 +44,39 @@ describe SilverSpurs::ChefOutput do
|
|
42
44
|
end
|
43
45
|
|
44
46
|
it 'should output stderr' do
|
45
|
-
response =
|
47
|
+
response = {'stdout' => '', 'stderr' => 'stdERR, son', 'exit_code' => 0, 'exit_status' => 0}
|
46
48
|
call_prettify_log(response).should match(/stdERR, son/)
|
47
49
|
end
|
48
50
|
|
49
51
|
it 'should output stdout' do
|
50
|
-
response =
|
52
|
+
response = {'stdout' => 'stdOUT, son', 'stderr' => '', 'exit_code' => 0, 'exit_status' => 0}
|
51
53
|
call_prettify_log(response).should match(/stdOUT, son/)
|
52
54
|
end
|
53
55
|
|
54
56
|
context 'when exit_code and exit_status are present' do
|
55
57
|
it 'should prefer exit_code' do
|
56
|
-
response =
|
58
|
+
response = {'stdout' => '', 'stderr' => '', 'exit_code' => 1, 'exit_status' => 2}
|
57
59
|
call_prettify_log(response).should match(/Exit Code: 1/)
|
58
60
|
end
|
59
61
|
end
|
60
62
|
|
61
63
|
context 'when exit_code is not present' do
|
62
64
|
it 'should use exit_status' do
|
63
|
-
response =
|
65
|
+
response = {'stdout' => '', 'stderr' => '', 'exit_code' => nil, 'exit_status' => 2}
|
64
66
|
call_prettify_log(response).should match(/Exit Code: 2/)
|
65
67
|
end
|
66
68
|
end
|
67
69
|
|
68
70
|
context 'when exit_status is not present' do
|
69
71
|
it 'should use exit_code' do
|
70
|
-
response =
|
72
|
+
response = {'stdout' => '', 'stderr' => '', 'exit_code' => 1, 'exit_status' => nil}
|
71
73
|
call_prettify_log(response).should match(/Exit Code: 1/)
|
72
74
|
end
|
73
75
|
end
|
74
76
|
|
75
77
|
context 'when exit_code and exit_status are not present' do
|
76
78
|
it 'should use nil' do
|
77
|
-
response =
|
79
|
+
response = {'stdout' => '', 'stderr' => '', 'exit_code' => nil, 'exit_status' => nil}
|
78
80
|
call_prettify_log(response).should match(/Exit Code: /)
|
79
81
|
end
|
80
82
|
end
|
metadata
CHANGED
@@ -1,18 +1,20 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: silver_spurs
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.0.
|
4
|
+
version: 2.0.0.rc4
|
5
|
+
prerelease: 6
|
5
6
|
platform: ruby
|
6
7
|
authors:
|
7
8
|
- Christian Blades
|
8
9
|
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
11
|
-
date: 2013-06-
|
12
|
+
date: 2013-06-18 00:00:00.000000000 Z
|
12
13
|
dependencies:
|
13
14
|
- !ruby/object:Gem::Dependency
|
14
15
|
name: sinatra
|
15
16
|
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
16
18
|
requirements:
|
17
19
|
- - ! '>='
|
18
20
|
- !ruby/object:Gem::Version
|
@@ -20,6 +22,7 @@ dependencies:
|
|
20
22
|
type: :runtime
|
21
23
|
prerelease: false
|
22
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
23
26
|
requirements:
|
24
27
|
- - ! '>='
|
25
28
|
- !ruby/object:Gem::Version
|
@@ -27,6 +30,7 @@ dependencies:
|
|
27
30
|
- !ruby/object:Gem::Dependency
|
28
31
|
name: chef
|
29
32
|
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
30
34
|
requirements:
|
31
35
|
- - ! '>='
|
32
36
|
- !ruby/object:Gem::Version
|
@@ -34,6 +38,7 @@ dependencies:
|
|
34
38
|
type: :runtime
|
35
39
|
prerelease: false
|
36
40
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
37
42
|
requirements:
|
38
43
|
- - ! '>='
|
39
44
|
- !ruby/object:Gem::Version
|
@@ -41,6 +46,7 @@ dependencies:
|
|
41
46
|
- !ruby/object:Gem::Dependency
|
42
47
|
name: rest-client
|
43
48
|
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
44
50
|
requirements:
|
45
51
|
- - ~>
|
46
52
|
- !ruby/object:Gem::Version
|
@@ -48,6 +54,7 @@ dependencies:
|
|
48
54
|
type: :runtime
|
49
55
|
prerelease: false
|
50
56
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
51
58
|
requirements:
|
52
59
|
- - ~>
|
53
60
|
- !ruby/object:Gem::Version
|
@@ -55,6 +62,7 @@ dependencies:
|
|
55
62
|
- !ruby/object:Gem::Dependency
|
56
63
|
name: addressable
|
57
64
|
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
58
66
|
requirements:
|
59
67
|
- - ~>
|
60
68
|
- !ruby/object:Gem::Version
|
@@ -62,6 +70,7 @@ dependencies:
|
|
62
70
|
type: :runtime
|
63
71
|
prerelease: false
|
64
72
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
65
74
|
requirements:
|
66
75
|
- - ~>
|
67
76
|
- !ruby/object:Gem::Version
|
@@ -69,20 +78,23 @@ dependencies:
|
|
69
78
|
- !ruby/object:Gem::Dependency
|
70
79
|
name: ridley
|
71
80
|
requirement: !ruby/object:Gem::Requirement
|
81
|
+
none: false
|
72
82
|
requirements:
|
73
83
|
- - ~>
|
74
84
|
- !ruby/object:Gem::Version
|
75
|
-
version:
|
85
|
+
version: 1.1.1
|
76
86
|
type: :runtime
|
77
87
|
prerelease: false
|
78
88
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
79
90
|
requirements:
|
80
91
|
- - ~>
|
81
92
|
- !ruby/object:Gem::Version
|
82
|
-
version:
|
93
|
+
version: 1.1.1
|
83
94
|
- !ruby/object:Gem::Dependency
|
84
95
|
name: guard
|
85
96
|
requirement: !ruby/object:Gem::Requirement
|
97
|
+
none: false
|
86
98
|
requirements:
|
87
99
|
- - ! '>='
|
88
100
|
- !ruby/object:Gem::Version
|
@@ -90,6 +102,7 @@ dependencies:
|
|
90
102
|
type: :development
|
91
103
|
prerelease: false
|
92
104
|
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
93
106
|
requirements:
|
94
107
|
- - ! '>='
|
95
108
|
- !ruby/object:Gem::Version
|
@@ -97,6 +110,7 @@ dependencies:
|
|
97
110
|
- !ruby/object:Gem::Dependency
|
98
111
|
name: guard-rspec
|
99
112
|
requirement: !ruby/object:Gem::Requirement
|
113
|
+
none: false
|
100
114
|
requirements:
|
101
115
|
- - ! '>='
|
102
116
|
- !ruby/object:Gem::Version
|
@@ -104,6 +118,7 @@ dependencies:
|
|
104
118
|
type: :development
|
105
119
|
prerelease: false
|
106
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
none: false
|
107
122
|
requirements:
|
108
123
|
- - ! '>='
|
109
124
|
- !ruby/object:Gem::Version
|
@@ -111,6 +126,7 @@ dependencies:
|
|
111
126
|
- !ruby/object:Gem::Dependency
|
112
127
|
name: simplecov
|
113
128
|
requirement: !ruby/object:Gem::Requirement
|
129
|
+
none: false
|
114
130
|
requirements:
|
115
131
|
- - ! '>='
|
116
132
|
- !ruby/object:Gem::Version
|
@@ -118,6 +134,7 @@ dependencies:
|
|
118
134
|
type: :development
|
119
135
|
prerelease: false
|
120
136
|
version_requirements: !ruby/object:Gem::Requirement
|
137
|
+
none: false
|
121
138
|
requirements:
|
122
139
|
- - ! '>='
|
123
140
|
- !ruby/object:Gem::Version
|
@@ -125,6 +142,7 @@ dependencies:
|
|
125
142
|
- !ruby/object:Gem::Dependency
|
126
143
|
name: growl
|
127
144
|
requirement: !ruby/object:Gem::Requirement
|
145
|
+
none: false
|
128
146
|
requirements:
|
129
147
|
- - ! '>='
|
130
148
|
- !ruby/object:Gem::Version
|
@@ -132,6 +150,7 @@ dependencies:
|
|
132
150
|
type: :development
|
133
151
|
prerelease: false
|
134
152
|
version_requirements: !ruby/object:Gem::Requirement
|
153
|
+
none: false
|
135
154
|
requirements:
|
136
155
|
- - ! '>='
|
137
156
|
- !ruby/object:Gem::Version
|
@@ -139,6 +158,7 @@ dependencies:
|
|
139
158
|
- !ruby/object:Gem::Dependency
|
140
159
|
name: rb-fsevent
|
141
160
|
requirement: !ruby/object:Gem::Requirement
|
161
|
+
none: false
|
142
162
|
requirements:
|
143
163
|
- - ~>
|
144
164
|
- !ruby/object:Gem::Version
|
@@ -146,6 +166,7 @@ dependencies:
|
|
146
166
|
type: :development
|
147
167
|
prerelease: false
|
148
168
|
version_requirements: !ruby/object:Gem::Requirement
|
169
|
+
none: false
|
149
170
|
requirements:
|
150
171
|
- - ~>
|
151
172
|
- !ruby/object:Gem::Version
|
@@ -153,6 +174,7 @@ dependencies:
|
|
153
174
|
- !ruby/object:Gem::Dependency
|
154
175
|
name: rack-test
|
155
176
|
requirement: !ruby/object:Gem::Requirement
|
177
|
+
none: false
|
156
178
|
requirements:
|
157
179
|
- - ! '>='
|
158
180
|
- !ruby/object:Gem::Version
|
@@ -160,6 +182,7 @@ dependencies:
|
|
160
182
|
type: :development
|
161
183
|
prerelease: false
|
162
184
|
version_requirements: !ruby/object:Gem::Requirement
|
185
|
+
none: false
|
163
186
|
requirements:
|
164
187
|
- - ! '>='
|
165
188
|
- !ruby/object:Gem::Version
|
@@ -167,6 +190,7 @@ dependencies:
|
|
167
190
|
- !ruby/object:Gem::Dependency
|
168
191
|
name: rake
|
169
192
|
requirement: !ruby/object:Gem::Requirement
|
193
|
+
none: false
|
170
194
|
requirements:
|
171
195
|
- - ! '>='
|
172
196
|
- !ruby/object:Gem::Version
|
@@ -174,6 +198,7 @@ dependencies:
|
|
174
198
|
type: :development
|
175
199
|
prerelease: false
|
176
200
|
version_requirements: !ruby/object:Gem::Requirement
|
201
|
+
none: false
|
177
202
|
requirements:
|
178
203
|
- - ! '>='
|
179
204
|
- !ruby/object:Gem::Version
|
@@ -211,39 +236,41 @@ files:
|
|
211
236
|
- spec/lib/silver_spurs/asyncifier_spec.rb
|
212
237
|
- spec/lib/silver_spurs/chef_interface_spec.rb
|
213
238
|
- spec/lib/silver_spurs/client/bootstrap_run_spec.rb
|
214
|
-
- spec/lib/silver_spurs/client/
|
239
|
+
- spec/lib/silver_spurs/client/chef_output_spec.rb
|
215
240
|
- spec/lib/silver_spurs/client_spec.rb
|
216
241
|
- spec/lib/silver_spurs/knife_interface_spec.rb
|
217
242
|
- spec/spec_helper.rb
|
218
243
|
homepage: http://github.com/christian-blades-cb/silver_spurs
|
219
244
|
licenses: []
|
220
|
-
metadata: {}
|
221
245
|
post_install_message:
|
222
246
|
rdoc_options: []
|
223
247
|
require_paths:
|
224
248
|
- lib
|
225
249
|
required_ruby_version: !ruby/object:Gem::Requirement
|
250
|
+
none: false
|
226
251
|
requirements:
|
227
252
|
- - ! '>='
|
228
253
|
- !ruby/object:Gem::Version
|
229
254
|
version: '0'
|
230
255
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
256
|
+
none: false
|
231
257
|
requirements:
|
232
258
|
- - ! '>'
|
233
259
|
- !ruby/object:Gem::Version
|
234
260
|
version: 1.3.1
|
235
261
|
requirements: []
|
236
262
|
rubyforge_project:
|
237
|
-
rubygems_version:
|
263
|
+
rubygems_version: 1.8.25
|
238
264
|
signing_key:
|
239
|
-
specification_version:
|
265
|
+
specification_version: 3
|
240
266
|
summary: RESTful service to kick off chef bootstraps
|
241
267
|
test_files:
|
242
268
|
- spec/lib/silver_spurs/app_spec.rb
|
243
269
|
- spec/lib/silver_spurs/asyncifier_spec.rb
|
244
270
|
- spec/lib/silver_spurs/chef_interface_spec.rb
|
245
271
|
- spec/lib/silver_spurs/client/bootstrap_run_spec.rb
|
246
|
-
- spec/lib/silver_spurs/client/
|
272
|
+
- spec/lib/silver_spurs/client/chef_output_spec.rb
|
247
273
|
- spec/lib/silver_spurs/client_spec.rb
|
248
274
|
- spec/lib/silver_spurs/knife_interface_spec.rb
|
249
275
|
- spec/spec_helper.rb
|
276
|
+
has_rdoc:
|
checksums.yaml
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
---
|
2
|
-
!binary "U0hBMQ==":
|
3
|
-
metadata.gz: !binary |-
|
4
|
-
Yjc1NDE4ZTRiM2U0OWZiZjIxYzFhMWYwZGQxYzg3ZjdjMmQ2NzE0NQ==
|
5
|
-
data.tar.gz: !binary |-
|
6
|
-
NWJhMjM4ZmMyMzNmMjMwOTViM2E2NjdkZGJjYjk0YzZiYjk1M2Y3ZQ==
|
7
|
-
!binary "U0hBNTEy":
|
8
|
-
metadata.gz: !binary |-
|
9
|
-
MDExZmYwMzJiZjQ0Y2ZlZjRlNWJlZTA1NDg5YzgyOThjY2NhMGI3YzYyNGM0
|
10
|
-
YWE5YzMzZmRhMmMzM2UzY2QyODAwMDYzYzQ4YmNiMWFlODk0MDRkOWMwNzM3
|
11
|
-
YmY2YWVkY2NiY2Y3NDBlZGY1NzFhYTNkYzdjZjNmNjQ5NDI2NWE=
|
12
|
-
data.tar.gz: !binary |-
|
13
|
-
YWJkMzQxMjQ4MzdiN2ZhMDI1OTM5NzFhOWJmN2JjNzMyNDM0YzcyNGZjNTNh
|
14
|
-
NmE4NWI2NDMyNWNlZDBkMmU1ZDg0NmRhMDc2ZTFjN2E0ZGZkMTJhNDI3Mzkw
|
15
|
-
OGExMDE2ZDM5OGRmNjc0ZmU0MmU3ZjU5ZWZhZjc4ZTFhZTE4Y2I=
|