Skip to content

Instantly share code, notes, and snippets.

@bfig
Created June 21, 2016 05:02
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save bfig/565c5eb97a58154410a3aa4c2f027121 to your computer and use it in GitHub Desktop.
Save bfig/565c5eb97a58154410a3aa4c2f027121 to your computer and use it in GitHub Desktop.
# -*- mode: ruby -*-
# vi: set ft=ruby :
# All Vagrant configuration is done below. The "2" in Vagrant.configure
# configures the configuration version (we support older styles for
# backwards compatibility). Please don't change it unless you know what
# you're doing.
base_network = "172.16.0."
hostnames = {
"hostnames" => {
"admin" => base_network + '2',
"db_mongo" => base_network + '3',
"ampq_rabbit" => base_network + '4'}
}
Vagrant.configure(2) do |config|
config.vm.box = "ubuntu/trusty64"
config.vm.provider :virtualbox do |v|
v.check_guest_additions = false
v.functional_vboxsf = false
v.memory = 1024
v.cpus = 1
end
config.vm.synced_folder "data", "/vagrant_data"
config.vm.provision :salt do |salt|
salt.pillar(hostnames)
salt.verbose = true
end
config.vm.define "admin" do |admin|
admin.vm.network "private_network", ip: hostnames["hostnames"]["admin"]
admin.vm.synced_folder "../salt/saltmaster", "/srv/salt"
admin.vm.provision :salt do |salt|
salt.master_key = '../salt/key/admin'
salt.master_pub = '../salt/key/admin.pub'
salt.minion_key = '../salt/key/admin'
salt.minion_pub = '../salt/key/admin.pub'
#salt.master_config = '../salt/conf/admin'
salt.no_minion = true
salt.install_master = true
salt.run_highstate = true
salt.seed_master= {'ampq_rabbit':'../salt/key/ampq_rabbit.pub',
'db_mongo':'../salt/key/db_mongo.pub'}
end
end
config.vm.define "db_mongo" do |db_mongo|
db_mongo.vm.network "private_network", ip: hostnames["hostnames"]["db_mongo"]
db_mongo.vm.provision :salt do |salt|
salt.minion_key = '../salt/key/db_mongo'
salt.minion_pub = '../salt/key/db_mongo.pub'
#salt.minion_config = "../salt/conf/db_mongo"
salt.run_highstate = true
end
end
config.vm.define "ampq_rabbit" do |ampq_rabbit|
ampq_rabbit.vm.network "private_network", ip: hostnames["hostnames"]["ampq_rabbit"]
ampq_rabbit.vm.provision :salt do |salt|
salt.minion_key = '../salt/key/ampq_rabbit'
salt.minion_pub = '../salt/key/ampq_rabbit.pub'
#salt.minion_config = "../salt/conf/ampq_rabbit"
salt.run_highstate = true
end
end
# Define a Vagrant Push strategy for pushing to Atlas. Other push strategies
# such as FTP and Heroku are also available. See the documentation at
# https://docs.vagrantup.com/v2/push/atlas.html for more information.
# config.push.define "atlas" do |push|
# push.app = "YOUR_ATLAS_USERNAME/YOUR_APPLICATION_NAME"
# end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment