vagrant-goodhosts 1.0.13 → 1.0.17
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +4 -4
- data/lib/vagrant-goodhosts/Action/BaseAction.rb +8 -2
- data/lib/vagrant-goodhosts/Action/RemoveHosts.rb +9 -9
- data/lib/vagrant-goodhosts/GoodHosts.rb +10 -4
- data/lib/vagrant-goodhosts/config.rb +1 -0
- data/lib/vagrant-goodhosts/version.rb +1 -1
- data/package.sh +1 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 86f17cd749321e35fafab21b1187d95010f121ec7ef384341aef7d1e767f66c4
|
4
|
+
data.tar.gz: ef74638b070b0ce806b27ae50b3ed05324d5e2715e55c9f26477f77ecead532d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b8dc33d45b72b7b6cc29b66d4eb4bf77e73c0e791b54e514905315108aa1d0ce8f1b6d7e3069eda8103f7613fbe1f06200b6c4a0e745b60348f27b78ffef3009
|
7
|
+
data.tar.gz: 5d91d96b23d355281840675f3de98a701daaea12e3fec0bf0bd1adf7983c88ecf55e2e3fb8bb39f26da4ebc3643233053cea8bdd8e2b765f6d2512d345eb57ac
|
data/README.md
CHANGED
@@ -30,7 +30,7 @@ You currently only need the `hostname` and a `:private_network` network with a f
|
|
30
30
|
|
31
31
|
```ruby
|
32
32
|
config.vm.network :private_network, ip: "192.168.3.10"
|
33
|
-
config.vm.hostname = "www.testing.de"
|
33
|
+
config.vm.hostname = "www.testing.de" # This is not used by the plugin
|
34
34
|
config.goodhosts.aliases = ["alias.testing.de", "alias2.somedomain.com"]
|
35
35
|
```
|
36
36
|
|
@@ -96,15 +96,15 @@ If you understand the risks that go with supressing them, here's how to do it.
|
|
96
96
|
### Linux/OS X: Passwordless sudo
|
97
97
|
|
98
98
|
To allow vagrant to automatically update the hosts file without asking for a sudo password, add one of the following snippets to a new sudoers file include, i.e. `sudo visudo -f /etc/sudoers.d/vagrant_goodhosts`.
|
99
|
-
The command path is printed when there are errors with
|
99
|
+
The command path is printed when there are errors with Vagrant, check the output marked in red.
|
100
100
|
|
101
101
|
For Ubuntu and most Linux environments:
|
102
102
|
|
103
|
-
%sudo ALL=(root) NOPASSWD: [the-path]
|
103
|
+
%sudo ALL=(root) NOPASSWD: [the-command-path]
|
104
104
|
|
105
105
|
For MacOS:
|
106
106
|
|
107
|
-
%admin ALL=(root) NOPASSWD: [the-path]
|
107
|
+
%admin ALL=(root) NOPASSWD: [the-command-path]
|
108
108
|
|
109
109
|
Replace in both %sudo/%admin with the username it if it is not working for you.
|
110
110
|
|
@@ -21,9 +21,15 @@ module VagrantPlugins
|
|
21
21
|
end
|
22
22
|
|
23
23
|
def call(env)
|
24
|
-
|
24
|
+
# Check whether the plugin has been executed for a particular
|
25
|
+
# VM as it may happen that a single Vagrantfile defines multiple
|
26
|
+
# machines and having a static flag will result in a plugin being
|
27
|
+
# executed just once.
|
28
|
+
# https://github.com/goodhosts/vagrant/issues/30
|
29
|
+
@@completed[@machine.name] = [] unless @@completed.key?(@machine.name)
|
30
|
+
unless @@completed[@machine.name].include? self.class.name
|
25
31
|
run(env)
|
26
|
-
@@completed[self.class.name
|
32
|
+
@@completed[@machine.name] << self.class.name
|
27
33
|
end
|
28
34
|
|
29
35
|
@app.call(env)
|
@@ -5,15 +5,15 @@ module VagrantPlugins
|
|
5
5
|
|
6
6
|
def run(env)
|
7
7
|
machine_action = env[:machine_action]
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
8
|
+
|
9
|
+
return unless @machine.id
|
10
|
+
return unless [:destroy, :halt, :suspend].include? machine_action
|
11
|
+
|
12
|
+
if ([:halt, :suspend].include? machine_action) && (false == @machine.config.goodhosts.remove_on_suspend)
|
13
|
+
@ui.info "[vagrant-goodhosts] Removing hosts on suspend disabled"
|
14
|
+
else
|
15
|
+
@ui.info "[vagrant-goodhosts] Removing hosts"
|
16
|
+
removeHostEntries
|
17
17
|
end
|
18
18
|
end
|
19
19
|
|
@@ -7,6 +7,11 @@ module VagrantPlugins
|
|
7
7
|
def getIps
|
8
8
|
ips = []
|
9
9
|
|
10
|
+
if @machine.config.vm.networks.length == 0
|
11
|
+
@ui.error("[vagrant-goodhosts] No ip address found for this virtual machine")
|
12
|
+
exit
|
13
|
+
end
|
14
|
+
|
10
15
|
@machine.config.vm.networks.each do |network|
|
11
16
|
key, options = network[0], network[1]
|
12
17
|
ip = options[:ip] if (key == :private_network || key == :public_network) && options[:goodhosts] != "skip"
|
@@ -111,7 +116,7 @@ module VagrantPlugins
|
|
111
116
|
if disableClean(ip_address)
|
112
117
|
clean = ''
|
113
118
|
end
|
114
|
-
stdin, stdout, stderr, wait_thr = Open3.popen3("sudo #{cli} add #{clean} #{ip_address} #{hostnames}")
|
119
|
+
stdin, stdout, stderr, wait_thr = Open3.popen3("sudo '#{cli}' add #{clean} #{ip_address} #{hostnames}")
|
115
120
|
end
|
116
121
|
if !wait_thr.value.success?
|
117
122
|
error = true
|
@@ -145,7 +150,7 @@ module VagrantPlugins
|
|
145
150
|
if disableClean(ip_address)
|
146
151
|
clean = ''
|
147
152
|
end
|
148
|
-
stdin, stdout, stderr, wait_thr = Open3.popen3("sudo #{cli} remove #{clean} #{ip_address} #{hostnames}")
|
153
|
+
stdin, stdout, stderr, wait_thr = Open3.popen3("sudo '#{cli}' remove #{clean} #{ip_address} #{hostnames}")
|
149
154
|
end
|
150
155
|
if !wait_thr.value.success?
|
151
156
|
error = true
|
@@ -173,13 +178,14 @@ module VagrantPlugins
|
|
173
178
|
hostnames_by_ips = []
|
174
179
|
ips = getIps
|
175
180
|
if ips.count() < 1
|
181
|
+
@ui.error("[vagrant-goodhosts] No ip address found for this virtual machine")
|
176
182
|
return hostnames_by_ips
|
177
183
|
end
|
178
184
|
hostnames = getHostnames(ips)
|
179
185
|
if ips.count() > 1
|
180
186
|
ips.each do |ip|
|
181
187
|
ip_address = ip
|
182
|
-
if hostnames[ip].count() >
|
188
|
+
if hostnames[ip].count() > 0
|
183
189
|
hostnames[ip].each do |hostname|
|
184
190
|
if !ip_address.nil?
|
185
191
|
@ui.info "[vagrant-goodhosts] - found entry for: #{ip_address} #{hostname}"
|
@@ -190,7 +196,7 @@ module VagrantPlugins
|
|
190
196
|
end
|
191
197
|
else
|
192
198
|
ip_address = ips[0]
|
193
|
-
if hostnames[ip_address].count() >
|
199
|
+
if hostnames[ip_address].count() > 0
|
194
200
|
hostnames[ip_address].each do |hostname|
|
195
201
|
if !ip_address.nil?
|
196
202
|
@ui.info "[vagrant-goodhosts] - found entry for: #{ip_address} #{hostname}"
|
data/package.sh
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vagrant-goodhosts
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.17
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daniele Scasciafratte
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-07-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|