# -*- mode: ruby -*- # vi: set ft=ruby : Vagrant.configure(2) do |config| config.vm.box = "ubuntu/bionic64" config.vm.provision "shell", inline: <<-SHELL cd /tmp PACKERVERSION=1.8.2 PACKERDOWNLOAD=https://releases.hashicorp.com/packer/${PACKERVERSION}/packer_${PACKERVERSION}_linux_amd64.zip TERRAFORMVERSION=1.2.4 TERRAFORMDOWNLOAD=https://releases.hashicorp.com/terraform/${TERRAFORMVERSION}/terraform_${TERRAFORMVERSION}_linux_amd64.zip echo "Dependencies..." sudo apt-get install -y \ apt-transport-https \ ca-certificates \ curl \ gnupg \ gnupg-agent \ lsb-release \ software-properties-common \ unzip # Azure CLI curl -sL https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc.gpg > /dev/null AZ_REPO=$(lsb_release -cs) echo "deb [arch=amd64] https://packages.microsoft.com/repos/azure-cli/ $AZ_REPO main" | sudo tee /etc/apt/sources.list.d/azure-cli.list sudo apt-get update sudo apt-get install azure-cli # Disable the firewall sudo ufw disable ## Packer echo Fetching Packer... curl -s -L $PACKERDOWNLOAD > packer.zip echo Installing Packer... unzip packer.zip -d /usr/local/bin chmod 0755 /usr/local/bin/packer chown root:root /usr/local/bin/packer ## Terraform echo Fetching Terraform... curl -s -L $TERRAFORMDOWNLOAD > terraform.zip echo Installing Terraform... unzip terraform.zip -d /usr/local/bin chmod 0755 /usr/local/bin/terraform chown root:root /usr/local/bin/terraform # Download and install Docker. curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable" apt-get update apt-get install -y \ docker-ce \ docker-ce-cli \ containerd.io usermod -aG docker vagrant SHELL config.vm.synced_folder "aws/", "/home/vagrant/aws", owner: "vagrant", group: "vagrant" config.vm.synced_folder "azure/", "/home/vagrant/azure", owner: "vagrant", group: "vagrant" config.vm.synced_folder "shared/", "/home/vagrant/shared", owner: "vagrant", group: "vagrant" config.vm.synced_folder "examples/", "/home/vagrant/examples", owner: "vagrant", group: "vagrant" config.vm.provider "virtualbox" do |vb| vb.memory = "2048" vb.cpus = 2 end end