Skip to main content

Vagrant

Basic commands
vagrant up
vagrant provision
vagrant destroy

vagrant ssh
vagrant status
Example Vagrantfile
# -*- mode: ruby -*-
# vi: set ft=ruby :

VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "ubuntu/bionic64"
  config.ssh.insert_key = false
  config.vm.hostname = "rpi.setup.local"

  config.vm.provider :virtualbox do |v|
    v.memory = 1024
    v.cpus = 1
  end

  config.vm.define "rpi.setup" do |instance|
    instance.vm.hostname = "rpi.setup.local"
    # Set forwarded ports from virtualbox instance
    #instance.vm.network "forwarded_port", guest: 80, host: 80

    # Ansible provisioning.
    instance.vm.provision "ansible" do |ansible|
      ansible.playbook = "site.yml" # playbook reference
      ansible.become = true
      ansible.ask_vault_pass = true # --ask-vault-pass
      #ansible.vault_password_file = "~/.vault_pass_local.txt" # vault password in a file
      ansible.groups = {
        "all:vars" => { "ansible_python_interpreter" => "/usr/bin/python3" },
        "proxy"    => [ "rpi.setup" ]
      }
      # Enable ansible verbosity
      #ansible.verbose  = "vvvv"
    end
  end
end