| { |
| "provisioners": [ |
| { |
| "type": "shell", |
| "execute_command": "echo 'vagrant' | {{.Vars}} sudo -S -E bash '{{.Path}}'", |
| "script": "scripts/setup.sh" |
| }, |
| { |
| "type": "shell", |
| "script": "scripts/install_packages.sh" |
| }, |
| { |
| "type": "file", |
| "source": "scripts/lxd-bridge", |
| "destination": "/tmp/lxd-bridge" |
| }, |
| { |
| "type": "shell", |
| "script": "scripts/lxd-setup.sh" |
| }, |
| { |
| "type": "shell", |
| "inline": ["echo 'vagrant' | sudo shutdown -r now"], |
| "expect_disconnect": "true" |
| }, |
| { |
| "type": "shell", |
| "script": "scripts/juju-setup.sh", |
| "pause_before": "10s" |
| }, |
| { |
| "type": "shell", |
| "script": "scripts/cleanup.sh" |
| } |
| ], |
| "variables": { |
| "build_dir": "jujubase-{{timestamp}}" |
| }, |
| "builders": [ |
| { |
| "type": "virtualbox-iso", |
| "boot_command": [ |
| "<enter><wait><f6><esc><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs>", |
| "<bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs>", |
| "<bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs>", |
| "<bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs>", |
| "/install/vmlinuz<wait>", |
| " auto<wait>", |
| " console-setup/ask_detect=false<wait>", |
| " console-setup/layoutcode=us<wait>", |
| " console-setup/modelcode=pc105<wait>", |
| " debconf/frontend=noninteractive<wait>", |
| " debian-installer=en_US<wait>", |
| " fb=false<wait>", |
| " initrd=/install/initrd.gz<wait>", |
| " kbd-chooser/method=us<wait>", |
| " keyboard-configuration/layout=USA<wait>", |
| " keyboard-configuration/variant=USA<wait>", |
| " locale=en_US<wait>", |
| " netcfg/get_domain=vm<wait>", |
| " netcfg/get_hostname=vagrant<wait>", |
| " grub-installer/bootdev=/dev/sda<wait>", |
| " noapic<wait>", |
| " preseed/url=http://{{ .HTTPIP }}:{{ .HTTPPort }}/preseed.cfg", |
| " -- <wait>", |
| "<enter><wait>" |
| ], |
| "boot_wait": "10s", |
| "disk_size": 40000, |
| "guest_os_type": "Ubuntu_64", |
| "headless": true, |
| "http_directory": "http", |
| "iso_urls": [ |
| "iso/ubuntu-16.04.5-server-amd64.iso", |
| "http://releases.ubuntu.com/16.04/ubuntu-16.04.5-server-amd64.iso" |
| ], |
| "iso_checksum_type": "sha256", |
| "iso_checksum": "c94de1cc2e10160f325eb54638a5b5aa38f181d60ee33dae9578d96d932ee5f8", |
| "ssh_username": "vagrant", |
| "ssh_password": "vagrant", |
| "ssh_port": 22, |
| "ssh_wait_timeout": "10000s", |
| "shutdown_command": "echo 'vagrant'|sudo -S shutdown -P now", |
| "guest_additions_path": "VBoxGuestAdditions_{{.Version}}.iso", |
| "virtualbox_version_file": ".vbox_version", |
| "output_directory": "{{user `build_dir`}}", |
| "vm_name": "xenial-jujubase", |
| "vboxmanage": [ |
| [ |
| "modifyvm", |
| "{{.Name}}", |
| "--memory", |
| "4096" |
| ], |
| [ |
| "modifyvm", |
| "{{.Name}}", |
| "--cpus", |
| "2" |
| ] |
| ] |
| } |
| ], |
| "post-processors": [ |
| { |
| "output": "{{user `build_dir`}}/{{.Provider}}-jujubase.box", |
| "type": "vagrant", |
| "keep_input_artifact": true |
| } |
| ] |
| } |