# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure("2") do |config|

  # Use Ubuntu 18.04 Bionic as a base box.
  config.vm.box = "generic/ubuntu1804"

  # Install dependencies needed for yubikey-piv-manager development.
  config.vm.provision "shell", path: "provision.sh"

  # Sync repository to /vagrant
  config.vm.synced_folder '../..', '/vagrant'

  # VirtualBox configuration
  config.vm.provider "virtualbox" do |vb|
    vb.name = "yubikey-piv-tool_development"
  end

  # Uncomment this to add a USB filter for YubiKeys.
  # This will connect the YubiKey to the VM when re-inserted.
  # This filter uses VirtualBox as provider.
  # Modify the paramters as needed depending on the device.

  FILTER_NAME="YubiKey 4"
  MANUFACTURER="Yubico"
  VENDOR_ID="0x1050"
  PRODUCT_ID="0x0407"
  PRODUCT="Yubikey 4 OTP+U2F+CCID"

  config.vm.provider "virtualbox" do |vb|
   vb.customize ['modifyvm', :id, '--usb', 'on']
   vb.customize ['usbfilter', 'add', '0',
     '--target', :id,
     '--name', FILTER_NAME,
     '--manufacturer', MANUFACTURER,
     '--vendorid', VENDOR_ID,
     '--productid', PRODUCT_ID,
     '--product', PRODUCT]
  end

end
