{ "variables": { "user": "vagrant", "password": "vagrant", "atlas_token": "" }, "provisioners": [ { "type": "shell-local", "command": "sudo apt-get update -qq" }, { "type": "shell-local", "command": "sudo apt-get install -y ansible git-core" }, { "type": "shell-local", "command": "git submodule init ansible" }, { "type": "shell", "inline": [ "install -m0700 -o {{user `user`}} -g {{user `user`}} -d /home/{{user `user`}}/.ssh", "curl -SsL https://raw.githubusercontent.com/mitchellh/vagrant/master/keys/vagrant.pub -o /home/{{user `user`}}/.ssh/authorized_keys" ] }, { "type": "shell", "execute_command": "{{ .Vars }} sudo -E -S sh '{{ .Path }}'", "inline": [ "mount -o loop ${HOME}/VBoxGuestAdditions.iso /mnt", "/mnt/VBoxLinuxAdditions.run install", "umount /mnt", "rm ${HOME}/VBoxGuestAdditions.iso" ] }, { "type": "ansible", "playbook_file": "ansible/playbook.yml" }, { "type": "shell", "execute_command": "{{ .Vars }} sudo -E -S sh '{{ .Path }}'", "script": "scripts/clean.sh" }, { "type": "shell", "execute_command": "{{ .Vars }} sudo -E -S sh '{{ .Path }}'", "script": "scripts/minimize.sh" } ], "builders": [ { "type": "virtualbox-iso", "boot_command": [ "", "", "", "", "/install/vmlinuz ", " auto ", " console-setup/ask_detect=false ", " console-setup/layoutcode=us ", " console-setup/modelcode=pc105 ", " debconf/frontend=noninteractive ", " debian-installer=en_US ", " fb=false ", " initrd=/install/initrd.gz ", " kbd-chooser/method=us ", " keyboard-configuration/layout=USA ", " keyboard-configuration/variant=USA ", " locale=en_US ", " netcfg/get_domain=vm ", " netcfg/get_hostname=vagrant ", " grub-installer/bootdev=/dev/sda ", " noapic ", " preseed/url=http://{{ .HTTPIP }}:{{ .HTTPPort }}/preseed.cfg", " -- ", "" ], "boot_wait": "10s", "disk_size": 10000, "guest_os_type": "Ubuntu_64", "headless": true, "http_directory": "preseeds", "iso_urls": "http://releases.ubuntu.com/16.04/ubuntu-16.04.2-server-amd64.iso", "iso_checksum_type": "sha256", "iso_checksum": "737ae7041212c628de5751d15c3016058b0e833fdc32e7420209b76ca3d0a535", "ssh_username": "{{user `user`}}", "ssh_password": "{{user `user`}}", "ssh_wait_timeout": "20m", "shutdown_command": "echo 'vagrant'|sudo -S shutdown -P now", "vm_name": "packer-ubuntu-16.04-amd64", "vboxmanage": [ [ "modifyvm", "{{.Name}}", "--memory", "1024" ], [ "modifyvm", "{{.Name}}", "--cpus", "1" ] ] } ], "post-processors": [ { "type": "atlas", "token": "{{user `atlas_token`}}", "artifact": "mastodon/ubuntu-xenial64", "artifact_type": "vagrant.box", "metadata": { "created_at": "{{timestamp}}", "description": "A Vagrant image for Mastodon development", "provider": "virtualbox-iso", "version": "{{isotime \"20060102T15_04_05\"}}.0" } } ], "push": { "name": "mastodon/ubuntu-xenial64", "vcs": true } }