-
Notifications
You must be signed in to change notification settings - Fork 0
/
Vagrantfile
54 lines (43 loc) · 1.78 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
# -*- mode: ruby -*-
# vi: set ft=ruby :
require "yaml"
# Load vagrant-puppet-django config
current_dir = File.dirname(File.expand_path(__FILE__))
config_file = YAML.load_file("#{current_dir}/config.yaml")
working_path="/home/#{config_file['user']}"
manifests_path="#{working_path}/manifests"
code_path="#{working_path}/code"
logs_path="#{working_path}/logs"
virtualenvs_path="#{working_path}/virtualenvs"
requirements_path= "#{code_path}/#{config_file['project']}/#{config_file['requirements_path']}"
Vagrant.configure(2) do |config|
config.vm.box = "ubuntu/wily32"
config.vm.provider "virtualbox" do |vb|
vb.memory = "1024"
end
config.vm.network "forwarded_port", guest: 80, host: 8080
config.vm.synced_folder "puppet/manifests/files", "#{manifests_path}"
config.vm.synced_folder "code", "#{code_path}"
config.vm.provision "puppet" do |puppet|
puppet.manifests_path = "puppet/manifests"
puppet.module_path = "puppet/modules"
puppet.manifest_file = "site.pp"
puppet.hiera_config_path = "puppet/hiera.yaml"
puppet.facter = {
"tz" => config_file["tz"],
"user" => config_file["user"],
"password" => config_file["password"],
"manifests_path" => "#{manifests_path}",
"code_path" => "#{code_path}",
"logs_path" => "#{logs_path}",
"virtualenvs_path" => "#{working_path}/virtualenvs",
"public_html_path" => "#{working_path}/public_html",
"requirements_path" => "#{requirements_path}",
"project" => config_file["project"],
"domain_name" => config_file["domain_name"],
"db_name" => config_file["db_name"],
"db_user" => config_file["db_user"],
"db_password" => config_file["db_password"],
}
end
end