|
| 1 | +# -*- mode: ruby -*- |
| 2 | +# vi: set ft=ruby |
| 3 | + |
| 4 | +# Vagrantfile for ginas project |
| 5 | +# https://github.com/drybjed/ginas/ |
| 6 | + |
| 7 | +VAGRANTFILE_API_VERSION = '2' |
| 8 | + |
| 9 | +DOMAIN = '.nat.example.com' |
| 10 | +NETWORK = '192.168.50.' |
| 11 | +NETMASK = '255.255.255.0' |
| 12 | + |
| 13 | +# Source: https://github.com/drybjed/vagrant-debian-wheezy-64/tree/ginas |
| 14 | +DEFAULT_BOX = 'debian-wheezy-amd64-netinst' |
| 15 | +DEFAULT_BOX_URL = 'https://dl.dropboxusercontent.com/u/55426468/debian-wheezy-amd64-netinst.box' |
| 16 | + |
| 17 | +Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| |
| 18 | + |
| 19 | + config.vm.box = DEFAULT_BOX |
| 20 | + config.vm.box_url = DEFAULT_BOX_URL |
| 21 | + |
| 22 | + # LEMP webserver (Linux, nginx, MySQL, PHP5) |
| 23 | + config.vm.define :web do |web| |
| 24 | + web.vm.hostname = 'web' + DOMAIN |
| 25 | + web.vm.network :private_network, ip: NETWORK + "10", :netmask => NETMASK |
| 26 | + end |
| 27 | + |
| 28 | + # MySQL server with PHPMyAdmin |
| 29 | + config.vm.define :db do |db| |
| 30 | + db.vm.hostname = 'db' + DOMAIN |
| 31 | + db.vm.network :private_network, ip: NETWORK + "20", :netmask => NETMASK |
| 32 | + end |
| 33 | + |
| 34 | + # Ansible Controller |
| 35 | + config.vm.define :master do |master| |
| 36 | + master.vm.hostname = 'master' + DOMAIN |
| 37 | + master.vm.network :private_network, ip: NETWORK + "2", :netmask => NETMASK |
| 38 | + |
| 39 | + config.vm.provision "ansible" do |ansible| |
| 40 | + ansible.host_key_checking = false |
| 41 | + ansible.inventory_path = "contrib/vagrant/inventory" |
| 42 | + ansible.playbook = "playbooks/site.yml" |
| 43 | + end |
| 44 | + end |
| 45 | + |
| 46 | +end |
| 47 | + |
| 48 | + |
0 commit comments