vagrant-dotvm 0.12.0 → 0.13.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 +47 -0
- data/lib/vagrant-dotvm/configinjecter.rb +20 -5
- data/lib/vagrant-dotvm/configparser.rb +28 -2
- data/lib/vagrant-dotvm/version.rb +1 -1
- 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: dc456bf715d4b8612e9c6c7d0084199165971172
|
4
|
+
data.tar.gz: 5f173b97006ad6c2abf724521427eb7a91e7617f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d6ab000283ad59a213f7267dd95fbd418993579c5917836d7a9c2b5fed0b20f9fb95b9d1eeecfe372dbdf6f2d4bd03381cc0a0d0cf0ed234e0068046046dbd74
|
7
|
+
data.tar.gz: 3c57965cbf5667b3ef6fa604c04c1db0c9db4d78b1a0454367f473d5528fff77d4cacaf0b25434380bd774c9a7ea61a38673b44515572ed328ad339641ea26ae
|
data/CHANGELOG.md
ADDED
@@ -0,0 +1,47 @@
|
|
1
|
+
# 0.13.0
|
2
|
+
* Ability to configure some vm related options
|
3
|
+
* Ability to use shorter forms of network
|
4
|
+
* Ability to configure public network
|
5
|
+
* Ability to set some options on shared folders
|
6
|
+
* Fix bug in port forwarding
|
7
|
+
|
8
|
+
# 0.12.0
|
9
|
+
* Ability to forward port
|
10
|
+
|
11
|
+
# 0.11.0
|
12
|
+
* Ability to authorize ssh public key from file or hardcoded string
|
13
|
+
|
14
|
+
# 0.10.0
|
15
|
+
* Make `/vagrant` available in guest
|
16
|
+
|
17
|
+
# 0.9.0
|
18
|
+
* Ability to select network interface in private network
|
19
|
+
|
20
|
+
# 0.8.0
|
21
|
+
* Now forwarding of X11 via SSH is enabled
|
22
|
+
* Ability to configure nat network
|
23
|
+
* Ability to use variables in many configuration options
|
24
|
+
* Ability to pass args to provision script
|
25
|
+
* Now project directory is available in guest
|
26
|
+
|
27
|
+
# 0.7.0
|
28
|
+
* Better handling of network configuration
|
29
|
+
|
30
|
+
# 0.6.0
|
31
|
+
* Ability to configure primary machine
|
32
|
+
|
33
|
+
# 0.5.0
|
34
|
+
* Ability to configure groups for `vagrant-group` users
|
35
|
+
|
36
|
+
# 0.4.0
|
37
|
+
* Ability to use environment variables in configuration
|
38
|
+
|
39
|
+
# 0.3.0
|
40
|
+
* Ability to use predefined variables
|
41
|
+
* Ability to configure shared folders
|
42
|
+
|
43
|
+
# 0.2.0
|
44
|
+
* Now configs are spread across projects directories
|
45
|
+
|
46
|
+
# 0.1.0
|
47
|
+
* Initial version
|
@@ -10,6 +10,11 @@ module VagrantPlugins
|
|
10
10
|
vc.vm.define machine_cfg[:nick], primary: machine_cfg[:primary] do |machine|
|
11
11
|
machine.vm.box = machine_cfg[:box]
|
12
12
|
machine.vm.hostname = machine_cfg[:name]
|
13
|
+
machine.vm.boot_timeout = machine_cfg[:boot_timeout]
|
14
|
+
machine.vm.box_check_update = machine_cfg[:box_check_update]
|
15
|
+
machine.vm.box_version = machine_cfg[:box_version]
|
16
|
+
machine.vm.graceful_halt_timeout = machine_cfg[:graceful_halt_timeout]
|
17
|
+
machine.vm.post_up_message = machine_cfg[:post_up_message]
|
13
18
|
|
14
19
|
machine.vm.provider "virtualbox" do |vb|
|
15
20
|
vb.customize ['modifyvm', :id, '--memory', machine_cfg['memory'] ||= 1024]
|
@@ -20,17 +25,23 @@ module VagrantPlugins
|
|
20
25
|
end
|
21
26
|
|
22
27
|
machine_cfg[:networks].each do |net|
|
23
|
-
if net[:net] ==
|
28
|
+
if net[:net] == :private_network
|
24
29
|
machine.vm.network net[:net],
|
25
|
-
type: net[:type]
|
30
|
+
type: net[:type],
|
26
31
|
ip: net[:ip],
|
27
32
|
netmask: net[:mask],
|
28
33
|
virtualbox__intnet: net[:interface]
|
29
|
-
elsif net[:net]
|
34
|
+
elsif net[:net] == :public_network
|
35
|
+
machine.vm.network net[:net],
|
36
|
+
type: net[:type],
|
37
|
+
ip: net[:ip],
|
38
|
+
netmask: net[:mask],
|
39
|
+
bridge: net[:bridge]
|
40
|
+
elsif net[:net] == :forwarded_port
|
30
41
|
machine.vm.network net[:net],
|
31
42
|
guest: net[:guest],
|
32
43
|
host: net[:host],
|
33
|
-
protocol: net[:protocol]
|
44
|
+
protocol: net[:protocol]
|
34
45
|
end
|
35
46
|
end
|
36
47
|
|
@@ -52,7 +63,11 @@ module VagrantPlugins
|
|
52
63
|
end
|
53
64
|
|
54
65
|
machine_cfg[:folders].each do |folder|
|
55
|
-
machine.vm.synced_folder folder[:host],
|
66
|
+
machine.vm.synced_folder folder[:host],
|
67
|
+
folder[:guest],
|
68
|
+
disabled: folder[:disabled],
|
69
|
+
create: folder[:create],
|
70
|
+
type: folder[:type]
|
56
71
|
end
|
57
72
|
|
58
73
|
machine_cfg[:authorized_keys].each do |key|
|
@@ -3,8 +3,13 @@ module VagrantPlugins
|
|
3
3
|
class ConfigParser
|
4
4
|
|
5
5
|
DEFAULT_NET = 'private_network'
|
6
|
+
DEFAULT_NET_TYPE = 'static'
|
6
7
|
DEFAULT_NETMASK = '255.255.255.0'
|
7
8
|
DEFAULT_PROTOCOL = 'tcp'
|
9
|
+
DEFAULT_BOOT_TIMEOUT = 300
|
10
|
+
DEFAULT_BOX_CHECK_UPDATE = true
|
11
|
+
DEFAULT_BOX_VERSION = '>= 0'
|
12
|
+
DEFAULT_GRACEFUL_HALT_TIMEOUT = 60
|
8
13
|
|
9
14
|
def initialize(vars = {})
|
10
15
|
@vars = vars
|
@@ -55,24 +60,43 @@ module VagrantPlugins
|
|
55
60
|
:host => '%project.host%',
|
56
61
|
:guest => '%project.guest%',
|
57
62
|
:disabled => false,
|
63
|
+
:create => false,
|
64
|
+
:type => nil,
|
58
65
|
}
|
59
66
|
],
|
60
67
|
:groups => [],
|
61
68
|
:authorized_keys => [],
|
69
|
+
:boot_timeout => self.coalesce(machine['boot_timeout'], DEFAULT_BOOT_TIMEOUT),
|
70
|
+
:box_check_update => self.coalesce(machine['box_check_update'], DEFAULT_BOX_CHECK_UPDATE),
|
71
|
+
:box_version => self.coalesce(machine['box_version'], DEFAULT_BOX_VERSION),
|
72
|
+
:graceful_halt_timeout => self.coalesce(machine['graceful_halt_timeout'], DEFAULT_GRACEFUL_HALT_TIMEOUT),
|
73
|
+
:post_up_message => machine['post_up_message'],
|
62
74
|
}
|
63
75
|
end
|
64
76
|
|
65
77
|
|
66
78
|
def parse_net(net)
|
79
|
+
case net['net']
|
80
|
+
when 'private_network', 'private'
|
81
|
+
nettype = :private_network
|
82
|
+
when 'forwarded_port', 'port'
|
83
|
+
nettype = :forwarded_port
|
84
|
+
when 'public_network', 'public', 'bridged'
|
85
|
+
nettype = :public_network
|
86
|
+
else
|
87
|
+
nettype = DEFAULT_NET
|
88
|
+
end
|
89
|
+
|
67
90
|
return {
|
68
|
-
:net =>
|
69
|
-
:type => net['type'],
|
91
|
+
:net => nettype,
|
92
|
+
:type => self.coalesce(net['type'], DEFAULT_NET_TYPE),
|
70
93
|
:ip => net['ip'],
|
71
94
|
:mask => self.coalesce(net['mask'], net['netmask'], DEFAULT_NETMASK),
|
72
95
|
:interface => net['interface'],
|
73
96
|
:guest => net['guest'],
|
74
97
|
:host => net['host'],
|
75
98
|
:protocol => self.coalesce(net['protocol'], DEFAULT_PROTOCOL),
|
99
|
+
:bridge => net['bridge'],
|
76
100
|
}
|
77
101
|
end
|
78
102
|
|
@@ -96,6 +120,8 @@ module VagrantPlugins
|
|
96
120
|
:host => folder['host'],
|
97
121
|
:guest => folder['guest'],
|
98
122
|
:disabled => self.coalesce(folder['disabled'], false),
|
123
|
+
:create => self.coalesce(folder['create'], false),
|
124
|
+
:type => folder['type'],
|
99
125
|
}
|
100
126
|
end
|
101
127
|
|
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.13.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-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -46,6 +46,7 @@ extensions: []
|
|
46
46
|
extra_rdoc_files: []
|
47
47
|
files:
|
48
48
|
- .gitignore
|
49
|
+
- CHANGELOG.md
|
49
50
|
- Gemfile
|
50
51
|
- LICENSE.txt
|
51
52
|
- README.md
|