Project

landrush

0.28
Repository is archived
No commit activity in last 3 years
No release in over 3 years
Forget about IPs in Vagrant - Automated DNS for your VMs This Vagrant plugin spins up a lightweight DNS server and makes it visible to your guests and your host, so that you can easily access all your machines without having to fiddle with IP addresses. DNS records are automatically added and removed as machines are brought up and down, and you can configure static entries to be returned from the server as well. See the README for more documentation.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Runtime

 Project Readme

Landrush: DNS for Vagrant

Build Status Build Status Gem Version

Landrush is a simple cross-platform DNS for Vagrant VMs that is visible on both, the guest and the host.

It spins up a small DNS server and redirects DNS traffic from your VMs to use it, automatically registering/unregistering IP addresses of guests as they come up and go down.

Note

This project is currently unmaintained and looking for maintainers! Anybody interested in helping out please contact @hferentschik.

I’d be happy to help coach anybody who wants to drop in and pick up the maintainer role for this plugin!


Table of Contents
  • Installation
  • Getting started
  • Available CLI commands
  • Troubleshooting
  • Help Out!

Installation

Install under Vagrant (1.1 or later):

$ vagrant plugin install landrush

Getting started

  1. Enable the plugin in your Vagrantfile:

    config.landrush.enabled = true
  2. Bring up a machine.

    $ vagrant up
  3. You are able to get your VM’s hostname resolved on your host:

    $ dig -p 10053 @localhost myhost.vagrant.test
  4. If you shut down your guest, the entries associated with it will be removed.

Landrush retrieves your VM’s hostname from either the vagrant config or it uses the system’s actual hostname by running the hostname command. A default hostname of "guest-vm" is assumed if the hostname is otherwise not available.

A Landrush example configuration could look like this:

Vagrant.configure("2") do |config|
  config.vm.box = "ubuntu/xenial64"

  config.landrush.enabled = true

  config.vm.hostname = "myhost.vagrant.test"

  config.landrush.host 'static1.example.com', '1.2.3.4'
  config.landrush.host 'static2.example.com', '2.3.4.5'
end

See the Usage guide for further information.

Available CLI commands

Check out vagrant landrush help for the available commands.

vagrant landrush <command>

commands:
  {start|stop|restart|status}
    control the landrush server daemon
  list, ls
    list all DNS entries known to landrush
  dependentvms, vms
    list vms currently dependent on the landrush server
  set { <host> <ip> | <alias> <host> }
    adds the given host-to-ip or alias-to-hostname mapping.
    Existing host ip addresses will be overwritten
  rm, del { <host> | <alias> | --all }
    delete the given hostname or alias from the server.
     --all removes all entries
  help
    you're lookin at it!

Troubleshooting

See the Troubleshooting guide to resolve issues you face while using Landrush.

Help Out!

This project needs your feedback and help! Please do not hesitate to open issues or submit pull requests. We welcome your input. If you wish to contribute to the development of Landrush, refer to the Contributing guide for details on how you can contribute. The Development guide will help you setup your development environment.