-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathinstall.sh
More file actions
executable file
·102 lines (85 loc) · 2.24 KB
/
install.sh
File metadata and controls
executable file
·102 lines (85 loc) · 2.24 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
101
102
#!/bin/bash
# Copyright © 2025 InfraMatrix. All Rights Reserved.
# SPDX-License-Identifier: BSD-3-Clause
install_dependencies()
{
if ! dpkg -l | grep -q "grafana"; then
echo "Setting up grafana repo\n"
sudo mkdir -p /etc/apt/keyrings/
wget -q -O - https://apt.grafana.com/gpg.key | gpg --dearmor | sudo tee /etc/apt/keyrings/grafana.gpg > /dev/null
echo "deb [signed-by=/etc/apt/keyrings/grafana.gpg] https://apt.grafana.com stable main" | \
sudo tee -a /etc/apt/sources.list.d/grafana.list
fi
sudo apt-get update && sudo apt-get install -y \
python3-full \
python3-pip \
python3-dev \
python3-parted \
libparted-dev \
libvirt-dev \
libvirt-daemon-system > /dev/null \
genisoimage \
openvswitch-switch \
openvswitch-common \
apt-transport-https \
software-properties-common \
wget \
prometheus \
grafana
python3 -m venv IGS_venv
source IGS_venv/bin/activate
sudo systemctl start libvirtd
sudo systemctl enable libvirtd
sudo systemctl enable openvswitch-switch.service
sudo systemctl stop prometheus
sudo systemctl disable prometheus
pip3 install \
pytest \
grpcio-tools \
grpcio \
libvirt-python \
requests \
tqdm \
pyroute2 \
pyparted \
pyyaml \
cryptography \
psutil \
prometheus_client
deactivate
}
generate_grpc_scripts()
{
source IGS_venv/bin/activate
cd compute
sudo rm -rf generated
./generate_grpc_scripts.sh
cd ../network
sudo rm -rf generated
./generate_grpc_scripts.sh
cd ../storage
sudo rm -rf generated
./generate_grpc_scripts.sh
cd ..
deactivate
}
create_IGS_directories()
{
sudo mkdir -p /IGS
sudo mkdir -p /IGS/compute
sudo mkdir -p /IGS/compute/vms
sudo mkdir -p /IGS/compute/isos
sudo mkdir -p /IGS/compute/images
sudo mkdir -p /IGS/storage
}
main()
{
printf "\nInstalling system dependencies. Please be patient. This may take a while...\n"
install_dependencies
printf "\nFinished installing python dependencies\n"
generate_grpc_scripts
printf "\nFinished generating messaging scripts\n"
create_IGS_directories
printf "\nFinished installing IGS\n\n"
}
main