This repository has been archived by the owner on Aug 25, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 20
/
Copy pathVagrantfile
72 lines (60 loc) · 2.41 KB
/
Vagrantfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
# -*- mode: ruby -*-
# vi: set ft=ruby :
require "yaml"
_config = YAML.load(File.open(File.join(File.dirname(__FILE__), "vagrantconfig.yaml"), File::RDONLY).read)
begin
_config.merge!(YAML.load(File.open(File.join(File.dirname(__FILE__), "vagrantconfig_local.yaml"), File::RDONLY).read))
rescue Errno::ENOENT
end
CONF = _config
Vagrant.configure("2") do |config|
config.vm.hostname = "piwik-trusty64"
config.vm.box = "trusty64"
config.vm.box_url = "https://cloud-images.ubuntu.com/vagrant/trusty/current/trusty-server-cloudimg-amd64-vagrant-disk1.box"
config.vm.synced_folder "puppet/files", "/etc/puppet/files", :nfs => false
config.vm.network :private_network, ip: "192.168.33.10"
config.ssh.forward_agent = true
config.vm.provider :virtualbox do |v, override|
override.vm.synced_folder "www", "/home/vagrant/www", :nfs => false, :owner => "vagrant"
v.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
v.customize ["modifyvm", :id, "--memory", 1024]
v.customize ["modifyvm", :id, "--name", "piwik-dev"]
v.customize ["setextradata", :id, "--VBoxInternal2/SharedFoldersEnableSymlinksCreate/v-root", "1"]
end
config.vm.provider :aws do |aws, override|
aws.keypair_name = CONF['aws_keypair_name']
aws.access_key_id = CONF['aws_access_key_id']
aws.secret_access_key = CONF['aws_secret_access_key']
override.vm.box = "ubuntu_aws"
override.vm.box_url = "https://github.com/mitchellh/vagrant-aws/raw/master/dummy.box"
override.ssh.private_key_path = CONF['aws_pem_file']
aws.instance_type = "c3.large"
aws.security_groups = ['default']
override.ssh.username = CONF['ssh_username']
aws.ami = "ami-9eaa1cf6"
aws.tags = {
'Name' => 'Piwik Testing',
}
end
$provision_script= <<SCRIPT
if [[ $(which puppet) != '/usr/local/bin/puppet' ]]; then
sudo apt-get -y install ruby
sudo gem install puppet
sudo gem install hiera
sudo gem install hiera-puppet
fi
SCRIPT
config.vm.provision :shell, :inline => $provision_script
config.vm.provision :puppet do |puppet|
puppet.manifests_path = "puppet"
puppet.manifest_file = "site.pp"
puppet.module_path = "puppet/modules"
puppet.hiera_config_path = "hiera.yaml"
puppet.options = ['--verbose']
puppet.facter = [
['db_username', CONF['db_username']],
['db_password', CONF['db_password']],
['ssh_username', CONF['ssh_username']],
]
end
end