soloist 1.0.1 → 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore CHANGED
@@ -4,4 +4,5 @@ pkg/*
4
4
  /.vagrant
5
5
  /examples/cookbooks
6
6
  /examples/tmp
7
+ tmp/
7
8
  Gemfile.lock
data/README.md CHANGED
@@ -4,8 +4,7 @@
4
4
 
5
5
  Soloist lets you quickly and easily converge [Chef](http://opscode.com/chef) recipes using [chef-solo](http://wiki.opscode.com/display/chef/Chef+Solo). It does not require a Chef server, but can exploit [community cookbooks](http://community.opscode.com/cookbooks), github-hosted cookbooks and locally-sourced cookbooks through [Librarian](https://github.com/applicationsonline/librarian).
6
6
 
7
- Soloist was originally built to support the [Pivotal Labs Workstation Cookbook](https://github.com/pivotal/pivotal_workstation).
8
-
7
+ Soloist was originally built to support the [Pivotal Labs Workstation Cookbook](https://github.com/pivotal/pivotal_workstation), now known as [Sprout](https://github.com/pivotal-sprout/sprout).
9
8
 
10
9
  Using Soloist
11
10
  -------------
@@ -17,7 +17,7 @@ module Soloist
17
17
  def initialize(user, host, key, options = {})
18
18
  @user = user
19
19
  @host = host
20
- @key = key
20
+ @key = File.expand_path(key)
21
21
  @timeout = options[:timeout] || 10000
22
22
  end
23
23
 
@@ -1,3 +1,3 @@
1
1
  module Soloist
2
- VERSION = "1.0.1"
2
+ VERSION = "1.0.2"
3
3
  end
data/script/bootstrap.sh CHANGED
@@ -31,8 +31,7 @@ RVMRC_CONTENTS
31
31
 
32
32
  echo "Detecting RVM requirements"
33
33
 
34
- bash -lc 'rvm requirements' | tee /tmp/rvm-requirements > /dev/null
35
- packages=`grep " ruby: /usr/bin/apt-get install" /tmp/rvm-requirements | sed "s/ ruby: \/usr\/bin\/apt-get install //g"`
34
+ packages="build-essential openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev libgdbm-dev ncurses-dev automake libtool bison subversion pkg-config libffi-dev"
36
35
 
37
36
  echo "Detected RVM requirements: $packages"
38
37
 
@@ -50,5 +49,5 @@ then
50
49
  echo "Satisfied RVM requirements"
51
50
  else
52
51
  echo "Installing missing RVM requirements: $to_install"
53
- sudo apt-get install -y $to_install
52
+ sudo apt-get --no-install-recommends install -y $to_install
54
53
  fi
data/soloist.gemspec CHANGED
@@ -22,7 +22,7 @@ Gem::Specification.new do |s|
22
22
  s.add_dependency "chef"
23
23
  s.add_dependency "librarian-chef"
24
24
  s.add_dependency "thor"
25
- s.add_dependency "hashie", "~> 1.2"
25
+ s.add_dependency "hashie", "~> 2.0"
26
26
  s.add_dependency "net-ssh"
27
27
  s.add_dependency "awesome_print"
28
28
 
@@ -104,9 +104,17 @@ describe Soloist::Remote do
104
104
  end
105
105
  end
106
106
 
107
+ describe "#key" do
108
+ let(:home_directory) { File.expand_path("~") }
109
+
110
+ subject { Soloist::Remote.new("user", "host", "~/some_key") }
111
+
112
+ its(:key) { should =~ %r|#{home_directory}/some_key| }
113
+ end
114
+
107
115
  describe "#upload" do
108
116
  it "runs rsync with the specified arguments" do
109
- Kernel.should_receive(:system).with("rsync -e 'ssh -i key' -avz --delete from user@host:to opts")
117
+ Kernel.should_receive(:system).with("rsync -e 'ssh -i #{subject.key}' -avz --delete from user@host:to opts")
110
118
  subject.upload("from", "to", "opts")
111
119
  end
112
120
  end
@@ -127,9 +135,9 @@ describe Soloist::Remote do
127
135
  end
128
136
 
129
137
  context "when a key is provided" do
130
- subject { Soloist::Remote.from_uri("dude@whatever", "yo-some-key") }
138
+ subject { Soloist::Remote.from_uri("dude@whatever", "/yo-some-key") }
131
139
 
132
- its(:key) { should == "yo-some-key" }
140
+ its(:key) { should == "/yo-some-key" }
133
141
  end
134
142
  end
135
143
  end
metadata CHANGED
@@ -1,191 +1,234 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: soloist
3
- version: !ruby/object:Gem::Version
4
- prerelease: false
5
- segments:
6
- - 1
7
- - 0
8
- - 1
9
- version: 1.0.1
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.2
5
+ prerelease:
10
6
  platform: ruby
11
- authors:
7
+ authors:
12
8
  - Matthew Kocher
13
9
  - Doc Ritezel
14
10
  autorequire:
15
11
  bindir: bin
16
12
  cert_chain: []
17
-
18
- date: 2013-04-05 00:00:00 -06:00
19
- default_executable:
20
- dependencies:
21
- - !ruby/object:Gem::Dependency
13
+ date: 2013-11-04 00:00:00.000000000 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
22
16
  name: chef
23
- prerelease: false
24
- requirement: &id001 !ruby/object:Gem::Requirement
25
- requirements:
26
- - - ">="
27
- - !ruby/object:Gem::Version
28
- segments:
29
- - 0
30
- version: "0"
17
+ requirement: !ruby/object:Gem::Requirement
18
+ none: false
19
+ requirements:
20
+ - - ! '>='
21
+ - !ruby/object:Gem::Version
22
+ version: '0'
31
23
  type: :runtime
32
- version_requirements: *id001
33
- - !ruby/object:Gem::Dependency
34
- name: librarian-chef
35
24
  prerelease: false
36
- requirement: &id002 !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ">="
39
- - !ruby/object:Gem::Version
40
- segments:
41
- - 0
42
- version: "0"
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ none: false
27
+ requirements:
28
+ - - ! '>='
29
+ - !ruby/object:Gem::Version
30
+ version: '0'
31
+ - !ruby/object:Gem::Dependency
32
+ name: librarian-chef
33
+ requirement: !ruby/object:Gem::Requirement
34
+ none: false
35
+ requirements:
36
+ - - ! '>='
37
+ - !ruby/object:Gem::Version
38
+ version: '0'
43
39
  type: :runtime
44
- version_requirements: *id002
45
- - !ruby/object:Gem::Dependency
46
- name: thor
47
40
  prerelease: false
48
- requirement: &id003 !ruby/object:Gem::Requirement
49
- requirements:
50
- - - ">="
51
- - !ruby/object:Gem::Version
52
- segments:
53
- - 0
54
- version: "0"
41
+ version_requirements: !ruby/object:Gem::Requirement
42
+ none: false
43
+ requirements:
44
+ - - ! '>='
45
+ - !ruby/object:Gem::Version
46
+ version: '0'
47
+ - !ruby/object:Gem::Dependency
48
+ name: thor
49
+ requirement: !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
55
  type: :runtime
56
- version_requirements: *id003
57
- - !ruby/object:Gem::Dependency
58
- name: hashie
59
56
  prerelease: false
60
- requirement: &id004 !ruby/object:Gem::Requirement
61
- requirements:
57
+ version_requirements: !ruby/object:Gem::Requirement
58
+ none: false
59
+ requirements:
60
+ - - ! '>='
61
+ - !ruby/object:Gem::Version
62
+ version: '0'
63
+ - !ruby/object:Gem::Dependency
64
+ name: hashie
65
+ requirement: !ruby/object:Gem::Requirement
66
+ none: false
67
+ requirements:
62
68
  - - ~>
63
- - !ruby/object:Gem::Version
64
- segments:
65
- - 1
66
- - 2
67
- version: "1.2"
69
+ - !ruby/object:Gem::Version
70
+ version: '2.0'
68
71
  type: :runtime
69
- version_requirements: *id004
70
- - !ruby/object:Gem::Dependency
71
- name: net-ssh
72
72
  prerelease: false
73
- requirement: &id005 !ruby/object:Gem::Requirement
74
- requirements:
75
- - - ">="
76
- - !ruby/object:Gem::Version
77
- segments:
78
- - 0
79
- version: "0"
73
+ version_requirements: !ruby/object:Gem::Requirement
74
+ none: false
75
+ requirements:
76
+ - - ~>
77
+ - !ruby/object:Gem::Version
78
+ version: '2.0'
79
+ - !ruby/object:Gem::Dependency
80
+ name: net-ssh
81
+ requirement: !ruby/object:Gem::Requirement
82
+ none: false
83
+ requirements:
84
+ - - ! '>='
85
+ - !ruby/object:Gem::Version
86
+ version: '0'
80
87
  type: :runtime
81
- version_requirements: *id005
82
- - !ruby/object:Gem::Dependency
83
- name: awesome_print
84
88
  prerelease: false
85
- requirement: &id006 !ruby/object:Gem::Requirement
86
- requirements:
87
- - - ">="
88
- - !ruby/object:Gem::Version
89
- segments:
90
- - 0
91
- version: "0"
89
+ version_requirements: !ruby/object:Gem::Requirement
90
+ none: false
91
+ requirements:
92
+ - - ! '>='
93
+ - !ruby/object:Gem::Version
94
+ version: '0'
95
+ - !ruby/object:Gem::Dependency
96
+ name: awesome_print
97
+ requirement: !ruby/object:Gem::Requirement
98
+ none: false
99
+ requirements:
100
+ - - ! '>='
101
+ - !ruby/object:Gem::Version
102
+ version: '0'
92
103
  type: :runtime
93
- version_requirements: *id006
94
- - !ruby/object:Gem::Dependency
95
- name: rspec
96
104
  prerelease: false
97
- requirement: &id007 !ruby/object:Gem::Requirement
98
- requirements:
99
- - - ">="
100
- - !ruby/object:Gem::Version
101
- segments:
102
- - 0
103
- version: "0"
105
+ version_requirements: !ruby/object:Gem::Requirement
106
+ none: false
107
+ requirements:
108
+ - - ! '>='
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: rspec
113
+ requirement: !ruby/object:Gem::Requirement
114
+ none: false
115
+ requirements:
116
+ - - ! '>='
117
+ - !ruby/object:Gem::Version
118
+ version: '0'
104
119
  type: :development
105
- version_requirements: *id007
106
- - !ruby/object:Gem::Dependency
107
- name: guard-rspec
108
120
  prerelease: false
109
- requirement: &id008 !ruby/object:Gem::Requirement
110
- requirements:
111
- - - ">="
112
- - !ruby/object:Gem::Version
113
- segments:
114
- - 0
115
- version: "0"
121
+ version_requirements: !ruby/object:Gem::Requirement
122
+ none: false
123
+ requirements:
124
+ - - ! '>='
125
+ - !ruby/object:Gem::Version
126
+ version: '0'
127
+ - !ruby/object:Gem::Dependency
128
+ name: guard-rspec
129
+ requirement: !ruby/object:Gem::Requirement
130
+ none: false
131
+ requirements:
132
+ - - ! '>='
133
+ - !ruby/object:Gem::Version
134
+ version: '0'
116
135
  type: :development
117
- version_requirements: *id008
118
- - !ruby/object:Gem::Dependency
119
- name: guard-bundler
120
136
  prerelease: false
121
- requirement: &id009 !ruby/object:Gem::Requirement
122
- requirements:
123
- - - ">="
124
- - !ruby/object:Gem::Version
125
- segments:
126
- - 0
127
- version: "0"
137
+ version_requirements: !ruby/object:Gem::Requirement
138
+ none: false
139
+ requirements:
140
+ - - ! '>='
141
+ - !ruby/object:Gem::Version
142
+ version: '0'
143
+ - !ruby/object:Gem::Dependency
144
+ name: guard-bundler
145
+ requirement: !ruby/object:Gem::Requirement
146
+ none: false
147
+ requirements:
148
+ - - ! '>='
149
+ - !ruby/object:Gem::Version
150
+ version: '0'
128
151
  type: :development
129
- version_requirements: *id009
130
- - !ruby/object:Gem::Dependency
131
- name: guard-shell
132
152
  prerelease: false
133
- requirement: &id010 !ruby/object:Gem::Requirement
134
- requirements:
135
- - - ">="
136
- - !ruby/object:Gem::Version
137
- segments:
138
- - 0
139
- version: "0"
153
+ version_requirements: !ruby/object:Gem::Requirement
154
+ none: false
155
+ requirements:
156
+ - - ! '>='
157
+ - !ruby/object:Gem::Version
158
+ version: '0'
159
+ - !ruby/object:Gem::Dependency
160
+ name: guard-shell
161
+ requirement: !ruby/object:Gem::Requirement
162
+ none: false
163
+ requirements:
164
+ - - ! '>='
165
+ - !ruby/object:Gem::Version
166
+ version: '0'
140
167
  type: :development
141
- version_requirements: *id010
142
- - !ruby/object:Gem::Dependency
143
- name: rb-fsevent
144
168
  prerelease: false
145
- requirement: &id011 !ruby/object:Gem::Requirement
146
- requirements:
147
- - - ">="
148
- - !ruby/object:Gem::Version
149
- segments:
150
- - 0
151
- version: "0"
169
+ version_requirements: !ruby/object:Gem::Requirement
170
+ none: false
171
+ requirements:
172
+ - - ! '>='
173
+ - !ruby/object:Gem::Version
174
+ version: '0'
175
+ - !ruby/object:Gem::Dependency
176
+ name: rb-fsevent
177
+ requirement: !ruby/object:Gem::Requirement
178
+ none: false
179
+ requirements:
180
+ - - ! '>='
181
+ - !ruby/object:Gem::Version
182
+ version: '0'
152
183
  type: :development
153
- version_requirements: *id011
154
- - !ruby/object:Gem::Dependency
155
- name: terminal-notifier-guard
156
184
  prerelease: false
157
- requirement: &id012 !ruby/object:Gem::Requirement
158
- requirements:
159
- - - ">="
160
- - !ruby/object:Gem::Version
161
- segments:
162
- - 0
163
- version: "0"
185
+ version_requirements: !ruby/object:Gem::Requirement
186
+ none: false
187
+ requirements:
188
+ - - ! '>='
189
+ - !ruby/object:Gem::Version
190
+ version: '0'
191
+ - !ruby/object:Gem::Dependency
192
+ name: terminal-notifier-guard
193
+ requirement: !ruby/object:Gem::Requirement
194
+ none: false
195
+ requirements:
196
+ - - ! '>='
197
+ - !ruby/object:Gem::Version
198
+ version: '0'
164
199
  type: :development
165
- version_requirements: *id012
166
- - !ruby/object:Gem::Dependency
167
- name: gem-release
168
200
  prerelease: false
169
- requirement: &id013 !ruby/object:Gem::Requirement
170
- requirements:
171
- - - ">="
172
- - !ruby/object:Gem::Version
173
- segments:
174
- - 0
175
- version: "0"
201
+ version_requirements: !ruby/object:Gem::Requirement
202
+ none: false
203
+ requirements:
204
+ - - ! '>='
205
+ - !ruby/object:Gem::Version
206
+ version: '0'
207
+ - !ruby/object:Gem::Dependency
208
+ name: gem-release
209
+ requirement: !ruby/object:Gem::Requirement
210
+ none: false
211
+ requirements:
212
+ - - ! '>='
213
+ - !ruby/object:Gem::Version
214
+ version: '0'
176
215
  type: :development
177
- version_requirements: *id013
216
+ prerelease: false
217
+ version_requirements: !ruby/object:Gem::Requirement
218
+ none: false
219
+ requirements:
220
+ - - ! '>='
221
+ - !ruby/object:Gem::Version
222
+ version: '0'
178
223
  description: Makes running chef-solo easy.
179
- email:
224
+ email:
180
225
  - kocher@gmail.com
181
226
  - ritezel@gmail.com
182
- executables:
227
+ executables:
183
228
  - soloist
184
229
  extensions: []
185
-
186
230
  extra_rdoc_files: []
187
-
188
- files:
231
+ files:
189
232
  - .gitignore
190
233
  - .pairs
191
234
  - .rspec
@@ -219,37 +262,31 @@ files:
219
262
  - spec/lib/soloist/royal_crown_spec.rb
220
263
  - spec/lib/soloist/spotlight_spec.rb
221
264
  - spec/spec_helper.rb
222
- has_rdoc: true
223
265
  homepage: http://github.com/mkocher/soloist
224
266
  licenses: []
225
-
226
267
  post_install_message:
227
268
  rdoc_options: []
228
-
229
- require_paths:
269
+ require_paths:
230
270
  - lib
231
- required_ruby_version: !ruby/object:Gem::Requirement
232
- requirements:
233
- - - ">="
234
- - !ruby/object:Gem::Version
235
- segments:
236
- - 0
237
- version: "0"
238
- required_rubygems_version: !ruby/object:Gem::Requirement
239
- requirements:
240
- - - ">="
241
- - !ruby/object:Gem::Version
242
- segments:
243
- - 0
244
- version: "0"
271
+ required_ruby_version: !ruby/object:Gem::Requirement
272
+ none: false
273
+ requirements:
274
+ - - ! '>='
275
+ - !ruby/object:Gem::Version
276
+ version: '0'
277
+ required_rubygems_version: !ruby/object:Gem::Requirement
278
+ none: false
279
+ requirements:
280
+ - - ! '>='
281
+ - !ruby/object:Gem::Version
282
+ version: '0'
245
283
  requirements: []
246
-
247
284
  rubyforge_project: soloist
248
- rubygems_version: 1.3.6
285
+ rubygems_version: 1.8.23
249
286
  signing_key:
250
287
  specification_version: 3
251
288
  summary: Soloist is a simple way of running chef-solo
252
- test_files:
289
+ test_files:
253
290
  - spec/helpers/net_ssh_test_helper.rb
254
291
  - spec/helpers/net_ssh_test_patch.rb
255
292
  - spec/lib/soloist/cli_spec.rb