334 lines
9.1 KiB
Ruby
334 lines
9.1 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.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=master"
|
|
]
|
|
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"
|
|
]
|
|
|
|
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"
|
|
]
|
|
|
|
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=true",
|
|
"-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=true",
|
|
"-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
|
|
|
|
|