Vagrant es un producto de software disponible en código fuente para crear y mantener entornos de desarrollo de software virtuales portátiles ; [5] por ejemplo, para VirtualBox , KVM , Hyper-V , contenedores Docker , VMware , Parallels y AWS . Intenta simplificar la gestión de la configuración del software de virtualización para aumentar la productividad del desarrollo. Vagrant está escrito en el lenguaje Ruby , pero su ecosistema admite el desarrollo en algunos otros lenguajes.
Vagrant fue creado como un proyecto personal paralelo por Mitchell Hashimoto en enero de 2010. La primera versión de Vagrant fue lanzada en marzo de 2010. En octubre de 2010, Engine Yard declaró que iban a patrocinar el proyecto Vagrant. La primera versión estable, Vagrant 1.0, fue lanzada en marzo de 2012, exactamente dos años después del lanzamiento de la versión original. En noviembre de 2012, Mitchell formó una organización llamada HashiCorp para apoyar el desarrollo a tiempo completo de Vagrant; Vagrant siguió siendo software libre con licencia permisiva . HashiCorp ahora trabaja en la creación de ediciones comerciales y brinda soporte y capacitación profesional para Vagrant. [ cita requerida ]
Vagrant estaba originalmente vinculado a VirtualBox , pero la versión 1.1 agregó soporte para otro software de virtualización como VMware y KVM , y para entornos de servidor como Amazon EC2 . [6] Vagrant está escrito en Ruby , pero se puede usar en proyectos escritos en otros lenguajes de programación como PHP , Python , Java , C# y JavaScript . [7] [8] Desde la versión 1.6, Vagrant admite de forma nativa contenedores Docker , que en algunos casos pueden servir como sustituto de un sistema operativo completamente virtualizado. [9]
Vagrant utiliza "Aprovisionadores" y "Proveedores" como bloques de construcción para administrar los entornos de desarrollo. Los aprovisionadores son herramientas que permiten a los usuarios personalizar la configuración de los entornos virtuales. Puppet y Chef son los dos aprovisionadores más utilizados en el ecosistema Vagrant ( Ansible está disponible al menos desde 2014 [10] ). Los proveedores son los servicios que Vagrant utiliza para configurar y crear entornos virtuales. Vagrant incluye compatibilidad con la virtualización de VirtualBox , Hyper-V y Docker , mientras que VMware y AWS son compatibles a través de complementos. [ cita requerida ]
Vagrant se encuentra sobre el software de virtualización como un contenedor y ayuda al desarrollador a interactuar fácilmente con los proveedores. Automatiza la configuración de entornos virtuales utilizando Chef o Puppet , y el usuario no tiene que utilizar directamente ningún otro software de virtualización. Los requisitos de la máquina y del software se escriben en un archivo llamado "Vagrantfile" para ejecutar los pasos necesarios para crear un equipo listo para el desarrollo. "Box" es un formato y una extensión (.box) para entornos Vagrant que se copia a otra máquina para replicar el mismo entorno. La documentación oficial de Vagrant [11] detalla la instalación, el uso de la línea de comandos y la configuración relevante de Vagrant. [ cita requerida ]
HashiCorp anunció el 10 de agosto de 2023 que cambió la licencia de Vagrant de la licencia MIT a la Licencia Business Source 1.1. [12] [13]