author | ymh <ymh.work@gmail.com> |
Tue, 23 Feb 2016 17:47:57 +0100 | |
changeset 127 | 5cd8c3065c38 |
parent 28 | b0b56e0f8c7f |
child 406 | cf0f23803a53 |
permissions | -rw-r--r-- |
1
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1 |
# -*- mode: ruby -*- |
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2 |
# vi: set ft=ruby : |
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3 |
require 'yaml' |
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4 |
|
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5 |
custom_file_path = File.join(__dir__, (ENV['SYSCONFIG'] || 'custom.yaml')) |
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6 |
|
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7 |
context = (File.exist?(custom_file_path)?YAML::load_file(custom_file_path):{}) || {} |
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8 |
|
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
9 |
# All Vagrant configuration is done below. The "2" in Vagrant.configure |
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
10 |
# configures the configuration version (we support older styles for |
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
11 |
# backwards compatibility). Please don't change it unless you know what |
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
12 |
# you're doing. |
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
13 |
Vagrant.configure(2) do |config| |
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
14 |
# The most common configuration options are documented and commented below. |
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
15 |
# For a complete reference, please see the online documentation at |
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
16 |
# https://docs.vagrantup.com. |
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
17 |
|
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
18 |
# Every Vagrant development environment requires a box. You can search for |
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
19 |
# boxes at https://atlas.hashicorp.com/search. |
28 | 20 |
#config.vm.box = "centos/7" |
21 |
config.vm.box = "puppetlabs/centos-7.0-64-nocm" |
|
1
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
22 |
|
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
23 |
# Disable automatic box update checking. If you disable this, then |
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
24 |
# boxes will only be checked for updates when the user runs |
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
25 |
# `vagrant box outdated`. This is not recommended. |
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
26 |
# config.vm.box_check_update = false |
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
27 |
|
28 | 28 |
# Create a private network, which allows host-only access to the machine |
29 |
# using a specific IP. |
|
30 |
# config.vm.network "private_network", ip: "192.168.33.10" |
|
31 |
config.vm.network :private_network, ip: (ENV['VM_IP'] || context['vm_ip'] || "172.16.1.6") |
|
32 |
||
1
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
33 |
# Create a forwarded port mapping which allows access to a specific port |
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
34 |
# within the machine from a port on the host machine. In the example below, |
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
35 |
# accessing "localhost:8080" will access port 80 on the guest machine. |
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
36 |
# config.vm.network "forwarded_port", guest: 80, host: 8080 |
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
37 |
default_ports = { |
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
38 |
80 => 40000, |
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
39 |
443 => 44300, |
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
40 |
3306 => 33060, |
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
41 |
5432 => 54320, |
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
42 |
8080 => 40400, |
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
43 |
} |
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
44 |
|
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
45 |
# Use Default Port Forwarding Unless Overridden |
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
46 |
default_ports.each do |guest, host| |
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
47 |
config.vm.network "forwarded_port", guest: guest, host: host |
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
48 |
end |
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
49 |
|
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
50 |
# Create a public network, which generally matched to bridged network. |
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
51 |
# Bridged networks make the machine appear as another physical device on |
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
52 |
# your network. |
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
53 |
# config.vm.network "public_network" |
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
54 |
|
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
55 |
# Share an additional folder to the guest VM. The first argument is |
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
56 |
# the path on the host to the actual folder. The second argument is |
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
57 |
# the path on the guest to mount the folder. And the optional third |
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
58 |
# argument is a set of non-required options. |
28 | 59 |
# config.vm.synced_folder "../data", "/vagrant_data" |
60 |
# config.vm.synced_folder "../server/src", "/var/www/corpus", id: "code-root", |
|
61 |
# owner: "vagrant", |
|
62 |
# group: 498, |
|
63 |
# mount_options: ["dmode=775,fmode=664"] |
|
64 |
||
1
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
65 |
|
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
66 |
# Provider-specific configuration so you can fine-tune various |
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
67 |
# backing providers for Vagrant. These expose provider-specific options. |
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
68 |
# Example for VirtualBox: |
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
69 |
# |
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
70 |
# config.vm.provider "virtualbox" do |vb| |
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
71 |
# # Display the VirtualBox GUI when booting the machine |
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
72 |
# vb.gui = true |
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
73 |
# |
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
74 |
# # Customize the amount of memory on the VM: |
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
75 |
# vb.memory = "1024" |
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
76 |
# end |
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
77 |
config.vm.provider "virtualbox" do |v| |
18
f2a40bbc27f6
add rdf mapper + merger + basic database model
ymh <ymh.work@gmail.com>
parents:
4
diff
changeset
|
78 |
v.memory = 1024 |
4
f55970e41793
first skeleton of bo client in ember
ymh <ymh.work@gmail.com>
parents:
1
diff
changeset
|
79 |
v.customize ["modifyvm", :id, "--natdnshostresolver1", "on"] |
1
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
80 |
end |
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
81 |
|
28 | 82 |
# |
1
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
83 |
# View the documentation for the provider you are using for more |
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
84 |
# information on available options. |
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
85 |
|
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
86 |
# Define a Vagrant Push strategy for pushing to Atlas. Other push strategies |
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
87 |
# such as FTP and Heroku are also available. See the documentation at |
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
88 |
# https://docs.vagrantup.com/v2/push/atlas.html for more information. |
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
89 |
# config.push.define "atlas" do |push| |
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
90 |
# push.app = "YOUR_ATLAS_USERNAME/YOUR_APPLICATION_NAME" |
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
91 |
# end |
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
92 |
|
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
93 |
# Enable provisioning with a shell script. Additional provisioners such as |
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
94 |
# Puppet, Chef, Ansible, Salt, and Docker are also available. Please see the |
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
95 |
# documentation for more information about their specific syntax and use. |
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
96 |
# config.vm.provision "shell", inline: <<-SHELL |
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
97 |
# sudo apt-get update |
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
98 |
# sudo apt-get install -y apache2 |
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
99 |
# SHELL |
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
100 |
config.vm.provision :shell do |shell| |
28 | 101 |
#initialize puppet |
102 |
shell.name = "puppet_initialize" |
|
103 |
shell.path = "provisioning/bootstrap-puppet.sh" |
|
1
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
104 |
end |
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
105 |
|
28 | 106 |
config.vm.provision :shell do |shell| |
107 |
#initialize puppet |
|
108 |
shell.name = "system_initialize" |
|
109 |
shell.inline = "[ ! -d '/tmp/vagrant-puppet' ] && mkdir -p '/tmp/vagrant-puppet' || :;" |
|
110 |
end |
|
111 |
||
112 |
config.vm.provision :puppet do |puppet| |
|
113 |
puppet.manifests_path = "provisioning" |
|
114 |
puppet.manifest_file = "default.pp" |
|
115 |
puppet.module_path = "provisioning/modules" |
|
116 |
puppet.hiera_config_path = "provisioning/hiera.yaml" |
|
117 |
puppet.working_directory = "/vagrant/provisioning/" |
|
118 |
puppet.options = "--verbose --debug" |
|
1
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
119 |
end |
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
120 |
|
01a844d292ac
dev environment + first skeleton for bo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
121 |
end |