A minimalist Vagrant replacement for Oracle VirtualBox.
Note
27 Aug 2025: It has just come to my attention that Vagrant has been ported to Go according to Hashicorp's roadmap. Users are advised to use Vagrant 2.4 and newer for the Go implementation.
Thus, there is no point in developing a Golang alternative implementation.
This project will be archived with immediate effect and no further active development is expected.
All experimental codes would be left in their present state for future reference only.
Note
migrant is in the process of redesign and redevelopment with a new
programming language. The old files used for prototyping certain features
and functionalities have been moved to the archived
directory for archival
and safekeeping purpose.
While the original aim of implementing migrant was to keep it simple by reusing whatever the system environment already offers, it has become increasingly clear that relying on the system's native scripting languages and tools would fail to achieve the requirements to be simple, portable across operating systems (i.e. Windows and Linux), and be largely self- contained.
After prototyping, the following problems have been identified:
- Different operating systems have missing tools that require extra third
party ones to be installed, especially for handling
tar.gz
compressed data and parsing JSON data. - The batch file scripting language is limited; it requires hacks for basic string parsing and manipulation, and splitting codes into blocks and functions.
All these add to the complexity of deployment and usage on end-user systems. Thus, another programming language for a new implementation is required.
Important
The following information is outdated.
There are implementations for Bash Shell, Batch and PowerShell, which require external binary tools/dependencies.
Operating System | Language | curl | jq | tar |
---|---|---|---|---|
Linux | Bash | * | Install | * |
Windows | Batch/CMD | Download | Download | Download |
Windows | PowerShell | Download |
* Usually pre-installed. No further action is needed.