| # -*- mode: ruby -*- |
| # -*- coding: utf-8 -*- |
| |
| nameserver = "8.8.8.8" |
| synced_folder = "/vagrant" |
| houndd_bin = "${HOME}/go/bin/houndd" |
| houndd_config = "${HOME}/config.json" |
| onap_git = "git.onap.org" |
| |
| $replace_dns = <<-SCRIPT |
| ns="$1" |
| # persist resolver settings |
| sed -i "s/addresses:.*/addresses: [${ns}]/" /etc/netplan/01-netcfg.yaml |
| # setup resolver for current boot session |
| resolvectl dns eth0 ${ns} |
| SCRIPT |
| |
| Vagrant.configure("2") do |config| |
| config.vm.box = "generic/ubuntu2004" |
| config.vm.synced_folder ".", synced_folder, type: "rsync", rsync__exclude: "Vagrantfile" |
| config.vm.network "forwarded_port", guest: 6080, host: 6080 |
| config.vm.provision "replace_dns", type: :shell, inline: $replace_dns, args: nameserver |
| config.vm.provision "dependencies", type: :shell, inline: <<-SHELL |
| export DEBIAN_FRONTEND=noninteractive |
| apt-get update |
| apt-get install --assume-yes --quiet golang tmux |
| SHELL |
| config.vm.provision "binaries", type: :shell, privileged: false, inline: <<-SHELL |
| export GOPATH="${HOME}/go" |
| go get -u github.com/hound-search/hound/cmds/... |
| SHELL |
| config.vm.provision "generate_config", type: :shell do |s| |
| s.privileged = false |
| s.inline = "python3 #{synced_folder}/create_config.py --git ${1} > #{houndd_config}" |
| s.args = [onap_git] |
| end |
| config.vm.provision "run_codesearch", type: :shell, run: "always", privileged: false, inline: <<-SHELL |
| tmux new -d -s codesearch #{houndd_bin} -conf #{houndd_config} |
| SHELL |
| end |