vagrant-soa 0.3.2 → 0.3.3
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.
- checksums.yaml +4 -4
- data/Vagrantfile +8 -2
- data/lib/vagrant-soa/actions/install_services.rb +10 -9
- data/lib/vagrant-soa/config.rb +12 -0
- data/lib/vagrant-soa/version.rb +1 -1
- data/{services → work/services}/example_service/puppet/example_service/manifests/init.pp +0 -0
- data/{services → work/services}/local_service/puppet/local_service/manifests/init.pp +0 -0
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e48d84deea10c569b26e383ddb52ad82e5077fce
|
4
|
+
data.tar.gz: 72d979ee82cfdba577b655c785ba9733f41f1ab3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 33d35e5aa666c09202d263dcee5a32ec973137bc504cb7fbd143a0ea34fc356f14ff046ee2200821a879b0528beae0c471a43cf1e83564c51322714716431700
|
7
|
+
data.tar.gz: 393826d5aa7d56910ddbfe8d6c7a162565fec2d506f18d0d0c6b34796cee280e6a51c9f2b7508cc5aca3bcb03b933728a2e534b4ac2c84f542664ad2d94dc015
|
data/Vagrantfile
CHANGED
@@ -6,13 +6,19 @@ Vagrant.configure('2') do |config|
|
|
6
6
|
config.vm.box = 'precise64'
|
7
7
|
config.vm.box_url = 'http://files.vagrantup.com/precise64.box'
|
8
8
|
|
9
|
+
local_work_dir = File.expand_path('./work')
|
10
|
+
vagrant_work_dir = '/home/vagrant/work'
|
11
|
+
config.vm.synced_folder local_work_dir, vagrant_work_dir
|
12
|
+
|
13
|
+
config.soa.local_work_dir = local_work_dir
|
14
|
+
config.soa.vagrant_work_dir = vagrant_work_dir
|
9
15
|
config.soa.services = {
|
10
16
|
'example_service' => {
|
11
|
-
'puppet_path' => 'services/example_service/puppet',
|
17
|
+
'puppet_path' => 'work/services/example_service/puppet',
|
12
18
|
'github_url' => 'git@github.com:eventbrite/vagrant-soa.git'
|
13
19
|
},
|
14
20
|
'local_service' => {
|
15
|
-
'local_path' => '
|
21
|
+
'local_path' => 'services/local_service',
|
16
22
|
},
|
17
23
|
}
|
18
24
|
|
@@ -165,26 +165,27 @@ module VagrantPlugins
|
|
165
165
|
|
166
166
|
def symlink_local_service(service, config)
|
167
167
|
target_directory = File.join @install_dir, service
|
168
|
-
|
169
|
-
|
170
|
-
@env[:ui].info "Local Service: #{service} is already symlinked"
|
171
|
-
else
|
172
|
-
FileUtils.symlink File.expand_path(config['local_path']), target_directory
|
173
|
-
@env[:ui].info "Symlinking local service: #{service} to #{target_directory}"
|
174
|
-
end
|
168
|
+
FileUtils.symlink File.expand_path(config['local_path'], @soa.vagrant_work_dir), target_directory, :force => true
|
169
|
+
@env[:ui].info "Symlinking local service: #{service} to #{target_directory}"
|
175
170
|
return target_directory
|
176
171
|
end
|
177
172
|
|
178
173
|
# To install a service we clone the service repo and add the puppet
|
179
174
|
# path to @puppet_module_registry.puppet_module_paths.
|
180
175
|
def install_service(service, config)
|
181
|
-
if config.has_key?
|
176
|
+
if config.has_key?('local_path')
|
177
|
+
if not @soa.local_work_dir and not @soa.vagrant_work_dir
|
178
|
+
@env[:ui].error "You must specify 'config.soa.local_work_dir' and 'config.soa.vagrant_work_dir' to setup a local service"
|
179
|
+
return
|
180
|
+
end
|
182
181
|
target_directory = symlink_local_service(service, config)
|
182
|
+
puppet_directory = File.expand_path(config['local_path'], @soa.local_work_dir)
|
183
183
|
else
|
184
184
|
target_directory = clone_service_repo(service, config)
|
185
|
+
puppet_directory = target_directory
|
185
186
|
end
|
186
187
|
puppet_path = config.fetch('puppet_path', 'puppet')
|
187
|
-
full_path = File.join(
|
188
|
+
full_path = File.join(puppet_directory, puppet_path)
|
188
189
|
register_service_home_fact(service, config)
|
189
190
|
@puppet_module_registry.register_module_path(service, full_path)
|
190
191
|
end
|
data/lib/vagrant-soa/config.rb
CHANGED
@@ -3,15 +3,21 @@ module VagrantPlugins
|
|
3
3
|
class Config < Vagrant.plugin(2, :config)
|
4
4
|
attr_accessor :services
|
5
5
|
attr_accessor :github_base
|
6
|
+
attr_accessor :local_work_dir
|
7
|
+
attr_accessor :vagrant_work_dir
|
6
8
|
|
7
9
|
def initialize
|
8
10
|
@services = UNSET_VALUE
|
9
11
|
@github_base = UNSET_VALUE
|
12
|
+
@local_work_dir = UNSET_VALUE
|
13
|
+
@vagrant_work_dir = UNSET_VALUE
|
10
14
|
end
|
11
15
|
|
12
16
|
def finalize!
|
13
17
|
@services = nil if @services == UNSET_VALUE
|
14
18
|
@github_base = nil if @github_base == UNSET_VALUE
|
19
|
+
@local_work_dir = @local_work_dir == UNSET_VALUE ? nil : File.expand_path(@local_work_dir)
|
20
|
+
@vagrant_work_dir = @vagrant_work_dir == UNSET_VALUE ? nil : File.expand_path(@vagrant_work_dir)
|
15
21
|
end
|
16
22
|
|
17
23
|
def validate(machine)
|
@@ -28,6 +34,12 @@ module VagrantPlugins
|
|
28
34
|
end
|
29
35
|
end
|
30
36
|
|
37
|
+
if @local_work_dir
|
38
|
+
if not File.directory?(@local_work_dir)
|
39
|
+
errors << "Specified 'local_work_dir' does not exist: #{@local_work_dir}"
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
31
43
|
return { 'soa' => errors }
|
32
44
|
end
|
33
45
|
|
data/lib/vagrant-soa/version.rb
CHANGED
File without changes
|
File without changes
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vagrant-soa
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michael Hahn
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-07-
|
11
|
+
date: 2014-07-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -63,9 +63,9 @@ files:
|
|
63
63
|
- pkg/vagrant-soa-0.2.0.gem
|
64
64
|
- pkg/vagrant-soa-0.2.1.gem
|
65
65
|
- pkg/vagrant-soa-0.3.0.gem
|
66
|
-
- services/example_service/puppet/example_service/manifests/init.pp
|
67
|
-
- services/local_service/puppet/local_service/manifests/init.pp
|
68
66
|
- vagrant-soa.gemspec
|
67
|
+
- work/services/example_service/puppet/example_service/manifests/init.pp
|
68
|
+
- work/services/local_service/puppet/local_service/manifests/init.pp
|
69
69
|
homepage: ''
|
70
70
|
licenses:
|
71
71
|
- MIT
|