Paul Hinze 4c21cb6ae5
Add release-grade logic for finding legacy Vagrant
After lots of experimentation I have landed on this as my proposal for
how we have our Go binary find its Ruby counterpart: just have it grab
it from the $PATH! @evanphx showed me this neat trick where by borrowing
a couple of helper methods from `exec` and tweaking them we can get
logic that will do a $PATH lookup that excludes "ourself". This allows
us to have both `vagrant` executables on the path... and means that
switching between Gogo-by-default or Legacy-by-default is just a matter
of tweaking $PATH order.

It _also_ means that we don't need any different lookup logic for
"release mode" vs "development mode" which is what I was looking at
before this solution.

In order to continue to facilitate development, I've generated a binstub
for vagrant using `bundle binstubs vagrant --standalone --path
./binstubs`, and I've updated the Nix development setup to prepend this
directory to the $PATH.

NOTE: Non-Nix users will need to modify their $PATH in the same way to
get the same behavior in development.
2022-04-25 12:26:49 -05:00
2022-04-25 12:26:42 -05:00
2022-04-25 12:26:37 -05:00
2022-04-25 12:24:14 -05:00
2021-10-28 21:59:30 +09:00
2021-06-14 19:30:31 -04:00
2022-04-25 12:25:55 -05:00
2022-04-25 12:26:25 -05:00
2018-03-07 08:52:53 -08:00
2013-10-22 08:24:58 +02:00
2022-01-14 16:09:41 -06:00
2022-04-25 12:23:57 -05:00
2022-04-25 12:26:43 -05:00
2022-04-25 12:24:21 -05:00
2022-04-25 12:26:25 -05:00
2022-04-25 12:26:48 -05:00
2022-04-25 12:26:48 -05:00
2019-03-25 10:21:32 -07:00
2022-04-25 12:26:47 -05:00
2020-11-06 15:42:10 -08:00
2020-10-19 16:37:10 -05:00
2022-04-25 12:23:57 -05:00
2022-04-25 12:26:39 -05:00
2021-11-05 14:18:07 -07:00

Vagrant

Vagrant is a tool for building and distributing development environments.

Development environments managed by Vagrant can run on local virtualized platforms such as VirtualBox or VMware, in the cloud via AWS or OpenStack, or in containers such as with Docker or raw LXC.

Vagrant provides the framework and configuration format to create and manage complete portable development environments. These development environments can live on your computer or in the cloud, and are portable between Windows, Mac OS X, and Linux.

Quick Start

Package dependencies: Vagrant requires bsdtar and curl to be available on your system PATH to run successfully.

For the quick-start, we'll bring up a development machine on VirtualBox because it is free and works on all major platforms. Vagrant can, however, work with almost any system such as OpenStack, VMware, Docker, etc.

First, make sure your development machine has VirtualBox installed. After this, download and install the appropriate Vagrant package for your OS.

To build your first virtual environment:

vagrant init hashicorp/bionic64
vagrant up

Note: The above vagrant up command will also trigger Vagrant to download the bionic64 box via the specified URL. Vagrant only does this if it detects that the box doesn't already exist on your system.

Getting Started Guide

To learn how to build a fully functional development environment, follow the getting started guide.

Installing from Source

If you want the bleeding edge version of Vagrant, we try to keep main pretty stable and you're welcome to give it a shot. Please review the installation page here.

Contributing to Vagrant

Please take time to read the HashiCorp Community Guidelines and the Vagrant Contributing Guide.

Then you're good to go!

Description
Vaguerent is a fork of Vagrant, the tool for building and distributing development environments. Vaguerent is based on the last available version still licensed under the free software MIT license.
Readme 82 MiB
Languages
Ruby 50.8%
Go 39.5%
MDX 7.1%
Shell 1.6%
PowerShell 0.6%
Other 0.2%