# frozen_string_literal: true
# Synced Folders NFS SMB Rsync: Vagrant workshop example.
BOX_NAME = ENV.fetch("VAGRANT_WORKSHOP_BOX", "bento/ubuntu-24.04")

Vagrant.configure("2") do |config|
  config.vm.box = BOX_NAME
  config.vm.hostname = "vagrant-workshop-08"
  config.vm.box_check_update = false
  config.vm.synced_folder "src", "/srv/workshop", create: true
  config.vm.network "forwarded_port", guest: 8080, host: 18080, host_ip: "127.0.0.1", auto_correct: true
  config.vm.network "private_network", ip: "192.168.56.18"
  config.vm.synced_folder "src", "/srv/rsync-workshop", type: "rsync", rsync__exclude: [".git/", "work/"]
  # NFS and SMB require host-specific privileges and are documented rather than enabled by default.
  # config.vm.synced_folder "src", "/srv/nfs-workshop", type: "nfs"
  # config.vm.synced_folder "src", "/srv/smb-workshop", type: "smb"
  config.vm.provider "virtualbox" do |vb|
    vb.name = "vagrant-workshop-08"
    vb.memory = 2048
    vb.cpus = 2
  end
  config.vm.provision "shell", path: "scripts/provision.sh", privileged: false
end
