# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure(2) do |config|
    config.vm.provider "virtualbox" do |vb|
        vb.customize ["modifyvm", :id, "--memory", "4096"]
        vb.customize ["modifyvm", :id, "--cpuexecutioncap", "40"]
    end
    config.vm.define "app" do |app|
        app.vm.box = "ubuntu/bionic64"
        app.vm.hostname = "app"
        app.hostsupdater.aliases = ["api.faktory.allskreen.com.local", "faktory.allskreen.com.local"]
        app.vm.box_check_update = false
        app.vm.network "public_network", ip: "192.168.50.100"
        app.vm.network "private_network", ip: "192.168.50.100"
        app.vm.network "forwarded_port", guest: 35729, host: 35729
        app.vm.network "forwarded_port", guest: 80, host: 8081
        app.vm.network "forwarded_port", guest: 8080, host: 8080
        app.vm.synced_folder "./", "/code/", type: 'nfs',  :mount_options => ['rw']
        app.vm.synced_folder "./factory-app/", "/var/www/factory-app/", type: 'nfs',  :mount_options => ['rw']
        app.vm.synced_folder "./factory-api/", "/var/www/factory-api/", type: 'nfs',  :mount_options => ['rw']
        app.vm.synced_folder "./allskreen-api/", "/var/www/allskreen-api/", type: 'nfs',  :mount_options => ['rw']
        app.vm.synced_folder "./analytics-api/", "/var/www/analytics-api/", type: 'nfs',  :mount_options => ['rw']
        app.vm.provision "shell", path: "provision/python.sh"
        app.vm.provision :ansible_local do |ansible|
            ansible.extra_vars = {
                profile: "dev"
            }
            ansible.compatibility_mode = "2.0"
            ansible.playbook = "provision/dev.yml"
        end
        app.vm.post_up_message = "Your machine is ready. Website is accessible at http://faktory.allskreen.com.local."
    end
end
