vagrant-dotvm 0.16.0 → 0.17.0
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/CHANGELOG.md +8 -0
- data/lib/vagrant-dotvm/configinjecter.rb +12 -1
- data/lib/vagrant-dotvm/configparser.rb +28 -0
- data/lib/vagrant-dotvm/version.rb +1 -1
- data/utils/add_host.py +23 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1c1d2926742ca09d2235e4ac8fdf5a33fe94846e
|
4
|
+
data.tar.gz: 760e89721aa455da912be1f2682787804f3e2404
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f0b2e8dd132e338ed6f6fc6ae7128294e35f631147f205546d7546321ff4df23006b25cfc3761ea6d894d5930dc091b2eddf13c049d5ab989887a8973d2106ff
|
7
|
+
data.tar.gz: f2e82fa6d3a1e7ac99a479a16af820d0bd554b1f42f6fd9e0d6aa7624a50132e4ae6f13858cf47f958512e3c58bf2dc36097ab0f86a4fd3d14f62dd9c19cfdd9
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,11 @@
|
|
1
|
+
# 0.17.0
|
2
|
+
* Add ability to add entries to /etc/hosts in guest
|
3
|
+
* Ability to set custom options for VirtualBox
|
4
|
+
* Remove default setting for natdnshostresolver1
|
5
|
+
|
6
|
+
# 0.16.0
|
7
|
+
* Remove default settings so DotVm is more transparent
|
8
|
+
|
1
9
|
# 0.15.1
|
2
10
|
* Fix for natnet option
|
3
11
|
|
@@ -23,8 +23,11 @@ module VagrantPlugins
|
|
23
23
|
vb.customize ["modifyvm", :id, "--memory", machine_cfg[:memory]] unless machine_cfg[:memory].nil?
|
24
24
|
vb.customize ["modifyvm", :id, "--cpus", machine_cfg[:cpus]] unless machine_cfg[:cpus].nil?
|
25
25
|
vb.customize ["modifyvm", :id, "--cpuexecutioncap", machine_cfg[:cpucap]] unless machine_cfg[:cpucap].nil?
|
26
|
-
vb.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
|
27
26
|
vb.customize ["modifyvm", :id, "--natnet1", machine_cfg[:natnet]] unless machine_cfg[:natnet].nil?
|
27
|
+
|
28
|
+
machine_cfg[:options][:virtualbox].each do |option|
|
29
|
+
vb.customize ["modifyvm", :id, option[:name], option[:value]]
|
30
|
+
end
|
28
31
|
end
|
29
32
|
|
30
33
|
machine_cfg[:networks].each do |net|
|
@@ -56,6 +59,14 @@ module VagrantPlugins
|
|
56
59
|
end
|
57
60
|
end
|
58
61
|
|
62
|
+
machine_cfg[:hosts].each do |host|
|
63
|
+
machine.vm.provision "shell", run: "always" do |s|
|
64
|
+
s.path = File.dirname(__FILE__) + "/../../utils/add_host.py"
|
65
|
+
s.args = [host[:ip], host[:host]]
|
66
|
+
s.privileged = true
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
59
70
|
machine_cfg[:provision].each do |provision|
|
60
71
|
machine.vm.provision provision[:type], run: provision[:run] do |p|
|
61
72
|
if provision[:type] == "shell"
|
@@ -55,6 +55,7 @@ module VagrantPlugins
|
|
55
55
|
:graceful_halt_timeout => coalesce(machine["graceful_halt_timeout"], Defaults::GRACEFUL_HALT_TIMEOUT),
|
56
56
|
:post_up_message => machine["post_up_message"],
|
57
57
|
:autostart => coalesce(machine["autostart"], true),
|
58
|
+
:hosts => [],
|
58
59
|
:folders => [
|
59
60
|
{
|
60
61
|
:host => "%project.host%",
|
@@ -64,6 +65,9 @@ module VagrantPlugins
|
|
64
65
|
:type => nil,
|
65
66
|
}
|
66
67
|
],
|
68
|
+
:options => {
|
69
|
+
:virtualbox => [],
|
70
|
+
},
|
67
71
|
}
|
68
72
|
end
|
69
73
|
|
@@ -135,6 +139,22 @@ module VagrantPlugins
|
|
135
139
|
}
|
136
140
|
end
|
137
141
|
|
142
|
+
private
|
143
|
+
def parse_option(option)
|
144
|
+
{
|
145
|
+
:name => option["name"],
|
146
|
+
:value => option["value"],
|
147
|
+
}
|
148
|
+
end
|
149
|
+
|
150
|
+
private
|
151
|
+
def parse_host(host)
|
152
|
+
{
|
153
|
+
:ip => host["ip"],
|
154
|
+
:host => host["host"],
|
155
|
+
}
|
156
|
+
end
|
157
|
+
|
138
158
|
public
|
139
159
|
def parse(yaml)
|
140
160
|
config = {
|
@@ -168,6 +188,14 @@ module VagrantPlugins
|
|
168
188
|
item[:authorized_keys] << parse_authorized_key(key)
|
169
189
|
end
|
170
190
|
|
191
|
+
machine["options"].to_h["virtualbox"].to_a.each do |option|
|
192
|
+
item[:options][:virtualbox] << parse_option(option)
|
193
|
+
end
|
194
|
+
|
195
|
+
machine["hosts"].to_a.each do |host|
|
196
|
+
item[:hosts] << parse_host(host)
|
197
|
+
end
|
198
|
+
|
171
199
|
config[:machines] << item
|
172
200
|
end
|
173
201
|
|
data/utils/add_host.py
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
#! /usr/bin/env python
|
2
|
+
|
3
|
+
import sys
|
4
|
+
|
5
|
+
ip = sys.argv[1]
|
6
|
+
host = sys.argv[2]
|
7
|
+
|
8
|
+
with open('/etc/hosts') as fd:
|
9
|
+
for entry in fd:
|
10
|
+
entry = entry.strip()
|
11
|
+
|
12
|
+
# omit empty lines
|
13
|
+
if not entry:
|
14
|
+
continue
|
15
|
+
|
16
|
+
entry = [x.strip() for x in entry.split(' ', 1)]
|
17
|
+
entry[1] = [x.strip() for x in entry[1].split(' ')]
|
18
|
+
|
19
|
+
if entry[0] == ip and host in entry[1]:
|
20
|
+
sys.exit(0)
|
21
|
+
|
22
|
+
with open('/etc/hosts', 'a') as fd:
|
23
|
+
fd.write("{} {}\n".format(ip, host))
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vagrant-dotvm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.17.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Krzysztof Magosa
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-07-
|
11
|
+
date: 2015-07-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -66,6 +66,7 @@ files:
|
|
66
66
|
- lib/vagrant-dotvm/dotvm.rb
|
67
67
|
- lib/vagrant-dotvm/plugin.rb
|
68
68
|
- lib/vagrant-dotvm/version.rb
|
69
|
+
- utils/add_host.py
|
69
70
|
- utils/authorize_key.sh
|
70
71
|
- utils/setup_route.sh
|
71
72
|
- vagrant-dotvm.gemspec
|