devopsgroup-io / vagrant-hostmanager

:pencil: A Vagrant plugin that manages hosts files within a multi-machine environment.
Mozilla Public License 2.0
1.46k stars 148 forks source link

Add ::1 to hosts on host machine? #266

Open runofthemill opened 6 years ago

runofthemill commented 6 years ago

Hi there! One of the projects I use frequently, https://github.com/roots/trellis, uses vagrant-hostmanager to manage the hosts file on the host for accessing local VMs. For whatever reason, connecting to the VMs in the browser is incredibly slow when there's only an IPv4 entry in hosts, and I've been able to fix it by adding a separate entry for ::1. A section of /etc/hosts might look like this:

## vagrant-hostmanager-start id: a361872c-e564-44a3-998e-962e4e0c46e8
192.168.50.5    gr.test
192.168.50.5    www.gr.test
## vagrant-hostmanager-end

::1             gr.test

I'd love to do this programmatically, so I was curious if this is something the plugin is currently capable of (perhaps undocumented) or something that could be added as a feature?

Thank you!

keengene commented 6 years ago

I needed to do something similar today. Using the Custom IP resolver functionality seems to do the trick as it will take any output and write to /etc/hosts. Try:

config.hostmanager.ip_resolver = proc do 
  `echo ::1`.rstrip  
end`

That would of course replace the IPv4 entry.