Vagrant



Vagrant
Vagrant starting a virtual machine using vagrant up
Original author(s)Mitchell Hashimoto[1]
Developer(s)HashiCorp (Mitchell Hashimoto and John Bender)
Initial releaseMarch 8, 2010; 11 years ago[2]
Stable release
Repository
Written inRuby
Operating systemDebian, CentOS, Arch Linux, Linux, FreeBSD, macOS, and Microsoft Windows
Available inEnglish
TypeConfiguration management
LicenseMIT License[4]
Websitewww.vagrantup.com
  1. Vagrant-vbguest
  2. Vagrant Boxes
  1. When you initialize a new vargant environment, a configuration file named Vagrantfile is created. This file contains the details of operating system and software requirements. The actual purpose of a vagrantfile is to describe the type of the virtual machine and how to configure and provision the VMs.
  2. A vagrant is a common tool for virtual machines management combined with a simple command line interface. The tool is expected to make the entire process easy without polluting the main installation with tons of configuration files. In the backend, there is one Virtual Box utilized by the Vagrant tool to run virtual machines.

Vagrant is an open-source software product for building and maintaining portablevirtual software development environments;[5] e.g., for VirtualBox, KVM, Hyper-V, Docker containers, VMware, and AWS. It tries to simplify the software configuration management of virtualization in order to increase development productivity. Vagrant is written in the Ruby language, but its ecosystem supports development in a few other languages.

Vagrant story

A vagrant is someone who is homeless and poor and may wander from place to place. In fiction a vagrant often is a criminal, but a real-life vagrant might just be a person who has lost a job and family and lives off the streets with help from charity. Vagrant works on your local system with the tools you're already familiar with. Easily code in your favorite text editor, edit images in your favorite manipulation program, and debug using your favorite tools, all from the comfort of your local laptop.

History[edit]

Vagrant was first started as a personal side-project by Mitchell Hashimoto in January 2010. The first version of Vagrant was released in March 2010. In October 2010, Engine Yard declared that they were going to sponsor the Vagrant project. The first stable version, Vagrant 1.0, was released in March 2012, exactly two years after the original version was released. In November 2012, Mitchell formed an organization called HashiCorp to support the full-time development of Vagrant; Vagrant remained permissively licensed free software. HashiCorp now works on creating commercial editions and provides professional support and training for Vagrant.

Vagrant was originally tied to VirtualBox, but version 1.1 added support for other virtualization software such as VMware and KVM, and for server environments like Amazon EC2.[6] Vagrant is written in Ruby, but it can be used in projects written in other programming languages such as PHP, Python, Java, C#, and JavaScript.[7][8] Since version 1.6, Vagrant natively supports Docker containers, which in some cases can serve as a substitute for a fully virtualized operating system.[9]

Architecture[edit]

Vagrant uses 'Provisioners' and 'Providers' as building blocks to manage the development environments. Provisioners are tools that allow users to customize the configuration of virtual environments. Puppet and Chef are the two most widely used provisioners in the Vagrant ecosystem (Ansible has been available since at least 2014[10]). Providers are the services that Vagrant uses to set up and create virtual environments. Support for VirtualBox, Hyper-V, and Docker virtualization ships with Vagrant, while VMware and AWS are supported via plugins.

Vagrant-vbguest

Vagrant sits on top of virtualization software as a wrapper and helps the developer interact easily with the providers. It automates the configuration of virtual environments using Chef or Puppet, and the user does not have to directly use any other virtualization software. Machine and software requirements are written in a file called 'Vagrantfile' to execute necessary steps in order to create a development-ready box. 'Box' is a format and an extension (.box) for Vagrant environments that is copied to another machine in order to replicate the same environment. The official Vagrant documentation[11] details the installation, command line usage, and relevant configuration of Vagrant.

Clue

References[edit]

  1. ^Marvin, Rob (2015-02-26). 'Mitchell Hashimoto is automating the world'. Software Development Times. Software Development Times. Retrieved 27 June 2016.
  2. ^'mitchellh/vagrant: Release v0.1.0'. GitHub. Retrieved 6 September 2015.
  3. ^'Releases · hashicorp/vagrant · GitHub'. Retrieved 2 February 2021.
  4. ^'hashicorp/vagrant'. GitHub.
  5. ^'Introducing Vagrant | Linux Journal'. www.linuxjournal.com. Retrieved 2016-09-14.
  6. ^Mitchell Hashimoto (2013). Vagrant: Up and Running(PDF). O'Reilly Media. p. 13. ISBN978-1449335830.
  7. ^'Vagrant: EC2-Like Virtual Machine Building and Provisioning from Ruby'. Retrieved May 14, 2012.
  8. ^'Vagrant - Getting Started - Project Setup'. Retrieved Jan 19, 2016.
  9. ^Mitchell Hashimoto (2014-05-06). 'Vagrant 1.6'. Archived from the original on 2018-07-10. Retrieved 2020-02-23.
  10. ^Brett, Adam (2014-09-23). 'Vagrant & Ansible Quickstart Tutorial'. adamcod.es. Retrieved 2017-08-06.
  11. ^'Documentation'. Vagrant by HashiCorp. Retrieved 2021-03-27.

External links[edit]

  • Official website

Vagrant Boxes

Retrieved from 'https://en.wikipedia.org/w/index.php?title=Vagrant_(software)&oldid=1014463164'