templates/Vagrantfile
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure(2) do |config|
{# Our custom Vagantfile Template #}
{% if digital_ocean %}
config.vm.provider :digital_ocean do |provider, override|
# You must specify the override.ssh.private_key_path to
# enable authentication with the droplet
# override.ssh.private_key_path = '~/.ssh/id_rsa'
override.ssh.private_key_path = {{ digital_ocean['id_rsa'] }}
override.vm.box = 'digital_ocean'
override.vm.box_url = "https://github.com/smdahlen/vagrant-digitalocean/raw/master/box/digital_ocean.box"
provider.token = {{ digital_ocean['token'] }}
provider.image = {{ digital_ocean['image'] }}
provider.region = 'nyc3'
provider.size = '512mb'
end
{% elif linode %}
config.vm.provider :linode do |provider, override|
override.ssh.private_key_path = linode['id_rsa']
override.vm.box = 'linode'
override.vm.box_url = "https://github.com/displague/vagrant-linode/raw/master/box/linode.box"
provider.api_key = {{ linode['API_KEY'] }}
provider.distribution = {{ linode['distro'] }}
provider.datacenter = 'newark'
provider.plan = 'Linode 1024'
end
{% else %}
config.vm.box = {{ load_os }}
{% endif %}
config.vm.provision :puppet do |puppet|
puppet.manifests_path = "manifests"
puppet.manifest_file = {{ config['puppet'] }}
end
# Enable provisioning with whatever you want.
config.vm.provision "shell",
inline: "{{ load_command }}"
end