Vagrant

No Change
adopt
First Added:October 1, 2024 Updated: July 29, 2026

Vagrant manages disposable VM development environments from a Vagrantfile. We adopt it when the work needs a real guest OS, not only containers.

Blurb

Development Environments Made Easy. Vagrant is the command line utility for managing the lifecycle of virtual machines. Isolate dependencies and their configuration within a single disposable and consistent environment.

Summary

What it is: HashiCorp CLI over providers (VirtualBox, VMware, Hyper-V, libvirt, and others). Boxes plus provisioning (shell, Ansible, etc.) give portable teammate parity.

When to use:

SituationNotes
Full OS / kernel needsDrivers, systemd, nested virt, Windows guests
Match prod-ish VMsCloser than Docker alone for some stacks
Teach / demo infraRepeatable vagrant up labs
Second-touch practiceProvision guests after the box boots

When to skip:

  • App already runs cleanly in containers or Dev Containers
  • Team has no hypervisor capacity (ARM/host friction, corporate lockdown)
  • Cloud ephemeral VMs or Codespaces already solve the workspace

Trade-offs: Strong isolation and realism. Heavier than containers in RAM, disk, and boot time. Keep adopt for VM-shaped problems; prefer Docker for most app microservices.

Details

ConceptNotes
BoxPackaged base image from a catalog or custom build
VagrantfileDeclarative machine, network, synced folders, provisioners
vagrant upCreate and configure the guest

References