Merge pull request #9 from vStone/feature/hostmanager-as-provisioner
Use hostmanager as provisioner
This commit is contained in:
commit
8adc104ab8
11
README.md
11
README.md
|
@ -57,6 +57,17 @@ Vagrant.configure("2") do |config|
|
|||
end
|
||||
```
|
||||
|
||||
As a last option, you can also choose hostmanager as a provisioner.
|
||||
This allows you to use the provisioning order to ensure that hostmanager
|
||||
runs before or after provisioning. The provisioner will collect hosts from
|
||||
boxes with the same provider as the running box.
|
||||
|
||||
Use:
|
||||
|
||||
```ruby
|
||||
config.vm.provision :hostmanager
|
||||
```
|
||||
|
||||
Contribute
|
||||
----------
|
||||
Contributions are welcome.
|
||||
|
|
|
@ -32,7 +32,7 @@ module VagrantPlugins
|
|||
host = machine.config.vm.hostname || name
|
||||
ip = get_ip_address.call(machine)
|
||||
host_aliases = machine.config.hostmanager.aliases.join("\s").chomp
|
||||
@logger.info "Adding /etc/hosts entry: #{ip} #{host} #{host_aliases}"
|
||||
machine.env.ui.info "Adding /etc/hosts entry: #{ip} #{host} #{host_aliases}"
|
||||
file << "#{ip}\t#{host}\s#{host_aliases}\n"
|
||||
end
|
||||
end
|
||||
|
|
|
@ -7,6 +7,8 @@ module VagrantPlugins
|
|||
description <<-DESC
|
||||
This plugin manages the /etc/hosts file for guest machines. An entry is
|
||||
created for each active machine using the hostname attribute.
|
||||
|
||||
You can also use the hostmanager provisioner to update the hosts file.
|
||||
DESC
|
||||
|
||||
config(:hostmanager) do
|
||||
|
@ -22,6 +24,11 @@ module VagrantPlugins
|
|||
hook.append(Action::UpdateHostsFile)
|
||||
end
|
||||
|
||||
provisioner(:hostmanager) do
|
||||
require_relative 'provisioner'
|
||||
Provisioner
|
||||
end
|
||||
|
||||
command(:hostmanager) do
|
||||
require_relative 'command'
|
||||
Command
|
||||
|
|
|
@ -0,0 +1,12 @@
|
|||
module VagrantPlugins
|
||||
module HostManager
|
||||
class Provisioner < Vagrant.plugin('2', :provisioner)
|
||||
include HostsFile
|
||||
|
||||
def provision
|
||||
generate(@machine.env, @machine.box.provider.to_sym)
|
||||
update(@machine)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Reference in New Issue