Skip to content

Commit a86f5ce

Browse files
committed
Merge pull request #33 from akosednar/custom_vagrant_settings
Added the ability to override vagrant settings [skip ci]
2 parents 00fa61c + 7b9458c commit a86f5ce

File tree

3 files changed

+52
-13
lines changed

3 files changed

+52
-13
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,3 +51,4 @@ vagrant/coderwall-box/packer_virtualbox-iso_virtualbox.box
5151
vagrant/dotfiles
5252
vcr_cassettes
5353
erd.pdf
54+
vagrant.yml

Vagrantfile

Lines changed: 35 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,13 @@
11
# -*- mode: ruby -*-
22
# vi: set ft=ruby :
33

4+
# Load in custom vagrant settings
5+
if File.file?("vagrant.yml")
6+
require 'yaml'
7+
custom_settings = YAML.load_file 'vagrant.yml'
8+
puts '== Using Custom Vagrant Settings =='
9+
end
10+
411
VAGRANTFILE_API_VERSION = "2"
512

613
$box = 'coderwall'
@@ -21,24 +28,39 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
2128

2229
config.vm.network :private_network, ip: '192.168.237.95' # 192.168.cdr.wl
2330

24-
# Rails
25-
config.vm.network :forwarded_port, guest: 3000, host: 3000
26-
27-
# Postgres
28-
config.vm.network :forwarded_port, guest: 5432, host: 2200
29-
# Redis
30-
config.vm.network :forwarded_port, guest: 6379, host: 2201
31-
# ElasticSearch
32-
config.vm.network :forwarded_port, guest: 9200, host: 9200
33-
# MongoDB
34-
config.vm.network :forwarded_port, guest: 27017, host: 27017
31+
# Use custom settings unless they don't exist
32+
unless custom_settings.nil?
33+
config.vm.network :forwarded_port, guest: 3000, host: custom_settings['network']['port_mappings']['rails']
34+
config.vm.network :forwarded_port, guest: 5432, host: custom_settings['network']['port_mappings']['postgres']
35+
config.vm.network :forwarded_port, guest: 6379, host: custom_settings['network']['port_mappings']['redis']
36+
config.vm.network :forwarded_port, guest: 9200, host: custom_settings['network']['port_mappings']['elasticsearch']
37+
config.vm.network :forwarded_port, guest: 27017, host: custom_settings['network']['port_mappings']['mongodb']
38+
else
39+
# Rails
40+
config.vm.network :forwarded_port, guest: 3000, host: 3000
41+
# Postgres
42+
config.vm.network :forwarded_port, guest: 5432, host: 2200
43+
# Redis
44+
config.vm.network :forwarded_port, guest: 6379, host: 2201
45+
# ElasticSearch
46+
config.vm.network :forwarded_port, guest: 9200, host: 9200
47+
# MongoDB
48+
config.vm.network :forwarded_port, guest: 27017, host: 27017
49+
end
3550

3651
config.vm.synced_folder '.', '/home/vagrant/web', nfs: true
3752

3853
config.vm.provider :virtualbox do |vb|
39-
vb.customize ['modifyvm', :id, '--cpus', '4']
54+
# Use custom settings unless they don't exist
55+
unless custom_settings.nil?
56+
vb.customize ['modifyvm', :id, '--cpus', custom_settings['virtualbox']['cpus']]
57+
vb.customize ['modifyvm', :id, '--memory', custom_settings['virtualbox']['memory']]
58+
else
59+
vb.customize ['modifyvm', :id, '--cpus', '4']
60+
vb.customize ['modifyvm', :id, '--memory', '4096']
61+
end
62+
4063
vb.customize ['modifyvm', :id, '--ioapic', 'on']
41-
vb.customize ['modifyvm', :id, '--memory', '4096']
4264

4365
# https://github.com/mitchellh/vagrant/issues/1807
4466
# whatupdave: my VM was super slow until I added these:

vagrant.yml.example

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# Custom Vagrant Settings [Example]
2+
#
3+
# This file allows the override of Vagrant settings.
4+
# In order to use, create a copy named vagrant.yml
5+
#
6+
7+
virtualbox:
8+
cpus: 4
9+
memory: 4096
10+
network:
11+
port_mappings:
12+
rails: 3000
13+
postgres: 2200
14+
redis: 2201
15+
elasticsearch: 9200
16+
mongodb: 27017

0 commit comments

Comments
 (0)