Add Hostmanager as a provisioner.

This commit is contained in:
Jan Vansteenkiste 2013-05-02 08:36:40 +02:00
parent f058b3025f
commit cae5f6be7d
3 changed files with 30 additions and 0 deletions

View File

@ -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.

View File

@ -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

View File

@ -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