🛠️ Vagrant Development Environment Dependencies¶
This document outlines all dependencies and plugins required for our Vagrant-based development environment.
Overview
A complete guide to setting up Vagrant with all required plugins and dependencies for a standardized development environment that ensures consistency across teams.
📋 Core Dependencies¶
Required Software¶
Dependency | Version | Description | License |
---|---|---|---|
VirtualBox | 6.1.40+ | Virtualization platform | GPL v2 |
Vagrant | 2.3.4+ | VM management framework | MIT |
Git | 2.30.0+ | Source control & provisioning | GPL v2 |
System Requirements
- Minimum: 8GB RAM, 2 CPU cores, 40GB free disk space
- Recommended: 16GB RAM, 4 CPU cores, 100GB free SSD space
- CPU: Hardware virtualization support (Intel VT-x/AMD-V)
🧩 Required Plugins¶
Install these plugins before proceeding with vagrant up
:
Plugin Details¶
Plugin | Purpose | Compliance | Documentation |
---|---|---|---|
vagrant-hostmanager | Manages host files across host/guest systems | SOC 2 Friendly | Wiki |
vagrant-vbguest | Manages VirtualBox Guest Additions | MIT License | Usage Guide |
vagrant-disksize | Allows dynamic disk resizing | MIT License | README |
Plugin Compatibility
Always match plugin versions with your Vagrant version. Run vagrant plugin update
when upgrading Vagrant.
🚀 Performance Enhancement Plugins¶
These optional plugins improve development workflow and performance:
Optimization Plugins¶
Plugin | Benefit | Usage Scenario | Documentation |
---|---|---|---|
vagrant-cachier | Caches apt/yum packages between VMs | Multiple similar VMs | Usage |
vagrant-faster | Reduces boot time | Frequent restarts | Setup |
vagrant-bindfs | Better file sync performance | NFS alternative | Configuration |
💻 OS-Specific Setup¶
Windows¶
PowerShell
# Install Chocolatey package manager
Set-ExecutionPolicy Bypass -Scope Process -Force
iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
# Install dependencies
choco install virtualbox vagrant git -y
Windows Performance
- Disable Windows Defender scanning for VM directories
- Add VM paths to Windows Defender exclusions
- Disable Hyper-V if enabled (conflicts with VirtualBox)
macOS¶
Bash
# Install Homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Install dependencies
brew install --cask virtualbox vagrant
brew install git
macOS File Sharing
- NFS mounts require additional configuration on macOS
- Consider using vagrant-bindfs for improved performance
Linux¶
Bash
# Ubuntu/Debian
sudo apt update
sudo apt install -y virtualbox vagrant git
# For improved NFS performance
sudo apt install -y nfs-kernel-server nfs-common
⚙️ Configuration Validation¶
Verify your installation with:
Bash
vagrant --version
VBoxManage --version
vagrant plugin list
vagrant validate # Checks Vagrantfile syntax
🔒 Compliance & Security¶
Enterprise Considerations
- Network Security: VMs use NAT by default but can expose ports
- Data Protection: Sensitive data in synced folders may need encryption
- License Compliance: All tools use open-source licenses but review for your organization
- Resource Control: Set resource limits to prevent overprovisioning
Security Best Practices¶
- Use private networks for inter-VM communication
- Limit exposed ports to localhost with
host_ip: "127.0.0.1"
- Use encrypted or temporary storage for sensitive data
- Keep Vagrant and VirtualBox updated for security patches
⚠️ Troubleshooting¶
Issue | Solution | Reference |
---|---|---|
VirtualBox won't start | Ensure virtualization enabled in BIOS | VBox Docs |
Guest Additions mismatch | vagrant plugin install vagrant-vbguest --plugin-version 0.30.0 |
GitHub Issue |
File sync errors | Use alternative sync method:type: "rsync" |
Sync Docs |
Network connectivity | Check firewall settings and host-only network adapters | Network Docs |
📚 Resources & References¶
Official Documentation¶
- Vagrant Documentation
- VirtualBox Manual
- Vagrant Cloud - For base boxes