{
  "_comment": "Build with `packer build ubuntu.json`",
  "builders": [
    {
      "boot_command": [
        "{{ user `boot_command_prefix` }}",
        "/install/vmlinuz noapic ",
        "file=/floppy/{{ user `preseed` }} ",
        "debian-installer={{ user `locale` }} auto locale={{ user `locale` }} kbd-chooser/method=us ",
        "hostname={{ user `hostname` }} ",
        "fb=false debconf/frontend=noninteractive ",
        "keyboard-configuration/modelcode=SKIP ",
        "keyboard-configuration/layout=USA ",
        "keyboard-configuration/variant=USA console-setup/ask_detect=false ",
        "passwd/user-fullname={{ user `ssh_fullname` }} ",
        "passwd/user-password={{ user `ssh_password` }} ",
        "passwd/user-password-again={{ user `ssh_password` }} ",
        "passwd/username={{ user `ssh_username` }} ",
        "initrd=/install/initrd.gz -- <enter>"
      ],
      "disk_size": "{{ user `disk_size` }}",
      "floppy_files": [
        "scripts/{{ user `preseed` }}"
      ],
      "headless": "{{ user `headless` }}",
      "http_directory": "http",
      "iso_checksum": "{{ user `iso_checksum_type` }}:{{ user `iso_checksum` }}",
      "iso_urls": [
        "{{ user `iso_url` }}"
      ],
      "output_directory": "output-{{ user `vm_name` }}",
      "qemuargs": [
        [
          "-m",
          "{{ user `memory` }}"
        ],
        [
          "-display",
          "none"
        ],
        [
          "-machine",
          "accel=kvm"
        ],
        [
          "-cpu",
          "host"
        ],
        [
          "-smp",
          "cpus={{ user `cpus`}}"
        ]
      ],
      "shutdown_command": "echo '{{ user `ssh_password` }}'|sudo -S shutdown -P now",
      "ssh_password": "{{ user `ssh_password` }}",
      "ssh_timeout": "10000s",
      "ssh_username": "{{ user `ssh_username` }}",
      "type": "qemu",
      "vm_name": "{{ user `vm_name` }}"
    }
  ],
  "provisioners": [
    {
      "environment_vars": [
        "UPDATE={{user `update`}}",
        "INSTALL_DEV_PACKAGES={{user `install_dev_packages`}}",
        "INSTALL_VAGRANT_KEY={{user `install_vagrant_key`}}",
        "SSH_USERNAME={{user `ssh_username`}}",
        "SSH_PASSWORD={{user `ssh_password`}}",
        "http_proxy={{user `http_proxy`}}",
        "https_proxy={{user `https_proxy`}}",
        "ftp_proxy={{user `ftp_proxy`}}",
        "rsync_proxy={{user `rsync_proxy`}}",
        "no_proxy={{user `no_proxy`}}"
      ],
      "execute_command": "echo '{{ user `ssh_password` }}' | {{.Vars}} sudo -E -S bash '{{.Path}}'",
      "scripts": [
        "scripts/vagrant.sh",
        "scripts/sshd.sh",
        "scripts/update.sh",
        "scripts/packages.sh",
        "scripts/install.sh",
        "scripts/cleanup.sh"
      ],
      "type": "shell"
    },
    {
      "type": "file",
      "source": "scripts/guestinit.sh",
      "destination": "/home/ubuntu/guestinit.sh",
      "direction": "upload"
    },
    {
      "type": "file",
      "source": "nopaxos.config",
      "destination": "/tmp/nopaxos.config",
      "direction": "upload"
    },
    {
      "type": "shell",
      "inline": ["sudo mv /tmp/nopaxos.config /root/nopaxos.config"]
    },
    {
      "type": "file",
      "source": "m5",
      "destination": "/tmp/m5",
      "direction": "upload"
    },
    {
      "type": "shell",
      "inline": ["sudo mv /tmp/m5 /sbin/m5"]
    }
  ],
  "variables": {
    "boot_command_prefix": "<esc><esc><enter><wait>",
    "cleanup_pause": "",
    "cpus": "4",
    "custom_script": ".",
    "desktop": "false",
    "disk_size": "10000",
    "ftp_proxy": "{{env `ftp_proxy`}}",
    "headless": "",
    "hostname": "vagrant",
    "http_proxy": "{{env `http_proxy`}}",
    "https_proxy": "{{env `https_proxy`}}",
    "install_dev_packages": "false",
    "install_vagrant_key": "true",
    "iso_checksum": "e2ecdace33c939527cbc9e8d23576381c493b071107207d2040af72595f8990b",
    "iso_checksum_type": "sha256",
    "iso_name": "ubuntu-18.04.4-server-amd64.iso",
    "iso_url": "http://cdimage.ubuntu.com/ubuntu/releases/18.04/release/ubuntu-18.04.4-server-amd64.iso",
    "locale": "en_US",
    "memory": "4096",
    "no_proxy": "{{env `no_proxy`}}",
    "preseed": "preseed.cfg",
    "rsync_proxy": "{{env `rsync_proxy`}}",
    "ssh_fullname": "vagrant",
    "ssh_password": "ubuntu",
    "ssh_username": "ubuntu",
    "update": "false",
    "vagrantfile_template": "",
    "version": "0.1.0",
    "vm_name": "ubuntu1804"
  }
}

