lib/boxci/templates/providers/aws/Vagrantfile.erb
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
config.vm.box = "dummy"
config.vm.provider :aws do |aws, override|
aws.access_key_id = "<%= @provider_config.fetch("access_key") %>"
aws.secret_access_key = "<%= @provider_config.fetch("secret_access_key") %>"
aws.keypair_name = "<%= @provider_config.fetch("keypair_name") %>"
<% if @project_config.box_size == 'tiny' %>
aws.instance_type = 'm1.small'
<% elsif @project_config.box_size == 'small' %>
aws.instance_type = 'm1.small'
<% elsif @project_config.box_size == 'medium' %>
aws.instance_type = 'm1.medium'
<% elsif @project_config.box_size == 'large' %>
aws.instance_type = 'm1.large'
<% elsif @project_config.box_size == 'xlarge' %>
aws.instance_type = 'm1.xlarge'
<% end %>
# aws.ami = "ami-a81470c1"
aws.ami = "<%= @provider_config.fetch("ami") %>"
override.ssh.private_key_path = "<%= @provider_config.fetch("ssh_private_key_path") %>"
override.ssh.username = "<%= @provider_config.fetch("vagrant_user") %>"
end
config.vm.provision :puppet do |puppet|
puppet.facter = {
<% @project_config.puppet_facts.each do |k, v| %>
"<%= k %>" => "<%= v %>",
<% end %>
"role" => "ci",
"operationsystem" => "debian",
"vagrant_user" => "<%= @provider_config.fetch("vagrant_user") %>",
"vagrant_home" => "<%= @provider_config.fetch("vagrant_home") %>"
}
puppet.module_path = "<%= @puppet_path %>/modules"
puppet.manifests_path = "<%= @puppet_path %>/manifests"
puppet.manifest_file = "main.pp"
<% if @options["verbose"] == true %>
puppet.options = "--verbose --debug"
<% end %>
end
end