This repository was archived by the owner on Dec 6, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathVagrantfile
More file actions
100 lines (81 loc) · 3.07 KB
/
Vagrantfile
File metadata and controls
100 lines (81 loc) · 3.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
config.vm.box = "ubuntu/focal64"
config.vm.hostname = "FACTbox"
config.disksize.size = "100GB"
config.vm.network "forwarded_port", guest: 5000, host: 5000
config.vm.network "forwarded_port", guest: 9191, host: 9191
config.vm.boot_timeout = 500
config.ssh.keep_alive = true
config.ssh.insert_key = false
config.vm.provider "virtualbox" do |vb|
# vb.gui = true
vb.cpus = 4
vb.memory = "12288"
end
config.vm.provision "shell" do |s|
s.inline = <<-SHELL
set -euxo pipefail
echo "--- Prepare installation for the Firmware Analysis and Comparison Tool (FACT) ---"
sudo apt update
sudo apt install -y git python3 python3-pip jq
sudo mkdir -p /FACT_core
sudo chown -R vagrant:users /FACT_core
VERSION_TAG=$(curl --silent "https://api.github.com/repos/fkie-cad/FACT_core/releases/latest"| jq -r .tag_name)
git clone https://github.com/fkie-cad/FACT_core.git --branch $VERSION_TAG --depth 1 --single-branch /FACT_core
n=0
until [ "$n" -ge 5 ]
do
/FACT_core/src/install/pre_install.sh && break
n=$((n+1))
sleep 15
done
sudo mkdir -p /media/data && sudo chown -R $USER /media/data
SHELL
s.privileged = false
end
config.vm.provision :reload
config.vm.provision "shell" do |s|
s.inline = <<-SHELL
set -euxo pipefail
echo "--- Install the Firmware Analysis and Comparison Tool (FACT) ---"
n=0
until [ "$n" -ge 5 ]
do
/FACT_core/src/install.py && break
n=$((n+1))
sleep 15
done
echo "--- Enable remote access to webserver ---"
sed -i "s/127.0.0.1/0.0.0.0/g" /FACT_core/src/config/uwsgi_config.ini
echo "--- Enable autostart ---"
echo "[Unit]
Description=Firmware Analysis and Comparison Tool (FACT).
[Service]
Type=Simple
ExecStart=/FACT_core/start_all_installed_fact_components
[Install]
WantedBy=multi-user.target">/tmp/fact.service
sudo mv /tmp/fact.service /etc/systemd/system/fact.service
sudo chown 644 /etc/systemd/system/fact.service
sudo systemctl enable fact.service
sudo systemctl start fact.service
SHELL
s.privileged = false
end
config.vm.provision :reload
config.vm.provision "shell" do |s|
s.inline = <<-SHELL
echo "-----------------------------------------------------"
echo "* ------------ FACT INSTALLED! (Finally) ---------- *"
echo "| |"
echo "| Let's go and check it out! |"
echo "| |"
echo "| http://localhost:5000 |"
echo "| |"
echo "*---------------------------------------------------*"
echo "-----------------------------------------------------"
SHELL
end
end