regluit/vagrant/Vagrantfile

337 lines
9.2 KiB
Ruby

# -*- mode: ruby -*-
# vi: set ft=ruby :
# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.define "please" do |node|
# Every Vagrant virtual environment requires a box to build off of.
node.vm.box = "ubuntu/precise64"
# node.vm.network "forwarded_port", guest: 80, host: 8080
node.vm.network "private_network", ip: "192.168.33.10"
node.ssh.forward_agent = true
#node.vm.network "private_network", type: "dhcp"
#node.vm.synced_folder "data", "vagrant_data"
node.vm.synced_folder ".", "/vagrant", disabled: false
node.vm.provision 'ansible' do |ansible|
ansible.playbook = 'dev.yml'
ansible.verbose = "vv"
# ansible.inventory_path = '.vagrant/provisioners/ansible/inventory/'
ansible.raw_arguments = [
"--inventory-file=.vagrant/provisioners/ansible/inventory/vagrant_ansible_inventory",
"--limit=please,127.0.0.1",
"-e vname=please",
"-e class=please",
"-e hostname=please.unglue.it",
"-e setdns=true",
"-e branch=dj18postdj18"
]
end
# 512MB not enough for compiling lxml: http://stackoverflow.com/a/25916353/7782
# http://stackoverflow.com/a/26468913/7782 --> for how to get to this setting
node.vm.provider "virtualbox" do |v|
v.memory = 1024
v.cpus = 2
end
node.vm.provider :aws do |aws, override|
aws.access_key_id = ENV['AWS_ACCESS_KEY_ID']
aws.secret_access_key = ENV['AWS_SECRET_ACCESS_KEY']
aws.keypair_name = "ry-laptop"
# Ubuntu 12.04 LTS Precise / PV EBS-SSD boot
# alestic 2015.05.05
#aws.instance_type="t1.micro"
aws.instance_type="m3.medium"
aws.region = "us-east-1"
aws.availability_zone = "us-east-1c"
# 2015.05.05
# aws.ami = "ami-d8132bb0"
# 2016.03.01
aws.ami = "ami-03dcdd69"
# put into just security group
aws.security_groups = ["just"]
aws.tags = {
'Name' => 'please_vagrant'
}
override.vm.box = "dummy"
override.ssh.username = "ubuntu"
override.ssh.private_key_path = "/Users/raymondyee/.ssh/id_rsa"
end
end
config.vm.define "just" do |node|
node.vm.box = "ubuntu/trusty64"
node.vm.network "private_network", type: "dhcp"
#node.vm.network "private_network", ip: "192.168.33.10"
node.ssh.forward_agent = true
node.vm.provision 'ansible' do |ansible|
ansible.playbook = 'dev.yml'
ansible.verbose = "vv"
# ansible.inventory_path = '.vagrant/provisioners/ansible/inventory/'
ansible.raw_arguments = [
"--inventory-file=.vagrant/provisioners/ansible/inventory/vagrant_ansible_inventory",
"--limit=just,127.0.0.1,jenkins",
"-e vname=just",
"-e class=just",
"-e hostname=just.unglue.it",
"-e setdns=false",
"-e branch=master",
"-e do_migrate=false"
]
end
node.vm.provider "virtualbox" do |v|
v.memory = 1024
v.cpus = 2
end
node.vm.provider :aws do |aws, override|
aws.access_key_id = ENV['AWS_ACCESS_KEY_ID']
aws.secret_access_key = ENV['AWS_SECRET_ACCESS_KEY']
aws.keypair_name = "ry-laptop"
# Ubuntu 12.04 LTS Precise / PV EBS-SSD boot
# alestic 2015.05.05
aws.instance_type="m1.small"
aws.region = "us-east-1"
aws.availability_zone = "us-east-1c"
aws.ami = "ami-d8132bb0"
aws.security_groups = ["just"]
aws.tags = {
'Name' => 'just_vagrant'
}
override.vm.box = "dummy"
override.ssh.username = "ubuntu"
override.ssh.private_key_path = "/Users/raymondyee/.ssh/id_rsa"
end
end
config.vm.define "just2" do |node|
node.vm.box = "ubuntu/trusty64"
node.vm.network "private_network", type: "dhcp"
#node.vm.network "private_network", ip: "192.168.33.10"
node.ssh.forward_agent = true
node.vm.provision 'ansible' do |ansible|
ansible.playbook = 'dev.yml'
ansible.verbose = "vv"
# ansible.inventory_path = '.vagrant/provisioners/ansible/inventory/'
ansible.raw_arguments = [
"--inventory-file=.vagrant/provisioners/ansible/inventory/vagrant_ansible_inventory",
"--limit=just2,127.0.0.1,jenkins",
"-e vname=just2",
"-e class=just",
"-e hostname=just2.unglue.it",
"-e setdns=false",
"-e branch=master",
"-e do_migrate=false"
]
end
node.vm.provider "virtualbox" do |v|
v.memory = 1024
v.cpus = 2
end
node.vm.provider :aws do |aws, override|
aws.access_key_id = ENV['AWS_ACCESS_KEY_ID']
aws.secret_access_key = ENV['AWS_SECRET_ACCESS_KEY']
aws.keypair_name = "ry-laptop"
# Ubuntu 12.04 LTS Precise / PV EBS-SSD boot
# alestic 2015.05.05
aws.instance_type="m1.small"
aws.region = "us-east-1"
aws.availability_zone = "us-east-1c"
aws.ami = "ami-d8132bb0"
aws.security_groups = ["just"]
aws.tags = {
'Name' => 'just2_vagrant'
}
override.vm.box = "dummy"
override.ssh.username = "ubuntu"
override.ssh.private_key_path = "/Users/raymondyee/.ssh/id_rsa"
end
end
config.vm.define "prod" do |node|
node.vm.box = "ubuntu/trusty64"
node.vm.network "private_network", type: "dhcp"
#node.vm.network "private_network", ip: "192.168.33.10"
node.ssh.forward_agent = true
node.vm.provision 'ansible' do |ansible|
ansible.playbook = 'dev.yml'
ansible.verbose = "vv"
# ansible.inventory_path = '.vagrant/provisioners/ansible/inventory/'
ansible.raw_arguments = [
"--inventory-file=.vagrant/provisioners/ansible/inventory/vagrant_ansible_inventory",
"--limit=prod,127.0.0.1",
"-e vname=prod",
"-e class=prod",
"-e hostname=unglue.it",
"-e setdns=false",
"-e do_migrate=false",
"-e branch=production"
]
end
node.vm.provider "virtualbox" do |v|
v.memory = 1024
v.cpus = 2
end
node.vm.provider :aws do |aws, override|
aws.access_key_id = ENV['AWS_ACCESS_KEY_ID']
aws.secret_access_key = ENV['AWS_SECRET_ACCESS_KEY']
aws.keypair_name = "ry-laptop"
# Ubuntu 12.04 LTS Precise / PV EBS-SSD boot
# alestic 2015.05.05
aws.instance_type="c1.medium"
aws.region = "us-east-1"
aws.availability_zone = "us-east-1c"
aws.ami = "ami-d8132bb0"
aws.security_groups = ["web-production"]
aws.tags = {
'Name' => 'prod_vagrant'
}
override.vm.box = "dummy"
override.ssh.username = "ubuntu"
override.ssh.private_key_path = "/Users/raymondyee/.ssh/id_rsa"
end
end
config.vm.define "prod2" do |node|
node.vm.box = "ubuntu/trusty64"
node.vm.network "private_network", type: "dhcp"
#node.vm.network "private_network", ip: "192.168.33.10"
node.ssh.forward_agent = true
node.vm.provision 'ansible' do |ansible|
ansible.playbook = 'dev.yml'
ansible.verbose = "vv"
# ansible.inventory_path = '.vagrant/provisioners/ansible/inventory/'
ansible.raw_arguments = [
"--inventory-file=.vagrant/provisioners/ansible/inventory/vagrant_ansible_inventory",
"--limit=prod2,127.0.0.1",
"-e vname=prod2",
"-e class=prod",
"-e hostname=unglue.it",
"-e setdns=false",
"-e do_migrate=false",
"-e branch=production"
]
end
node.vm.provider "virtualbox" do |v|
v.memory = 1024
v.cpus = 2
end
node.vm.provider :aws do |aws, override|
aws.access_key_id = ENV['AWS_ACCESS_KEY_ID']
aws.secret_access_key = ENV['AWS_SECRET_ACCESS_KEY']
aws.keypair_name = "ry-laptop"
# Ubuntu 12.04 LTS Precise / PV EBS-SSD boot
# alestic 2015.05.05
aws.instance_type="c1.medium"
aws.region = "us-east-1"
aws.availability_zone = "us-east-1c"
aws.ami = "ami-d8132bb0"
aws.security_groups = ["web-production"]
aws.tags = {
'Name' => 'prod2_vagrant'
}
override.vm.box = "dummy"
override.ssh.username = "ubuntu"
override.ssh.private_key_path = "/Users/raymondyee/.ssh/id_rsa"
end
end
config.vm.define "localvm" do |node|
node.vm.box = "ubuntu/precise64"
#node.vm.network "private_network", type: "dhcp"
node.vm.network "private_network", ip: "192.168.33.10" #https://192.168.33.10.xip.io
node.ssh.forward_agent = true
node.vm.provider "virtualbox" do |v, override|
v.memory = 1024
v.cpus = 2
# trying to mimic https://github.com/mozilla/fxa-dev/blob/b9b6f347c786428b347b82d38fb67e2c2fd1b827/vagrant/Vagrantfile
# but this doesn't work
override.vm.provision "ansible" do |ansible|
ansible.playbook = 'localvm.yml'
#ansible.start_at_task = 'remove all default enabled sites'
end
end
end
end