# -*- mode: ruby -*- # vi: set ft=ruby : DBTYPE = ENV.fetch("GC_DBTYPE", "mysql") if DBTYPE != "mysql" && DBTYPE != "postgresql" && DBTYPE != "sqlite3" puts "Invalid GC_DBTYPE environment variable set in the host, must be mysql, postgresql, or sqlite3, got #{DBTYPE}" abort end PROVIDER = ENV.fetch("GC_PROVIDER", "virtualbox") # can be virtualbox or libvirt BOX = "generic/ubuntu2004" if PROVIDER == "virtualbox" BOX = "ubuntu/focal64" end Vagrant.configure("2") do |config| config.ssh.username = "vagrant" config.vm.box = BOX config.vm.network "forwarded_port", guest: 80, host: 8080 config.vm.network "forwarded_port", guest: 443, host: 4430 config.vm.network "forwarded_port", guest: 4040, host: 4040 config.vm.network "forwarded_port", guest: 3306, host: 3306 config.vm.network :private_network, ip: "192.168.56.3" config.vm.synced_folder "../", "/vagrant" config.vm.provider PROVIDER do |provider| if PROVIDER == "virtualbox" provider.gui = false end provider.cpus = "4" provider.memory = "2048" end config.vm.provision :shell, path: "bootstrap.sh", env: { :DBTYPE => DBTYPE, :GOPATH => "/home/vagrant/go", :MYSQL_MAINLINE => ENV.fetch("GC_MYSQL_MAINLINE", ""), :FROMDOCKER => "" }, args: "install" end