-
Notifications
You must be signed in to change notification settings - Fork 0
/
optional
120 lines (110 loc) · 2.84 KB
/
optional
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
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
#!/usr/bin/env bash
# shellcheck disable=SC1091,SC1090
set -euo pipefail
reset=$(tput sgr0)
red=$(tput bold && tput setaf 1)
yellow=$(tput bold && tput setaf 3)
date_time=$(date +'%d-%m-%Y-T%H:%M:%S%z')
working_directory=$(pwd)
function error() {
echo "[$date_time]: $*" >&2
}
function main() {
if [[ -e /usr/bin/rpm && -e /usr/bin/dnf && -e /usr/bin/yum && -e /etc/centos-release ]]; then
optional_helm
elif [[ -e /usr/bin/apt && -e /usr/bin/dpkg && -e /etc/os-release && -e /etc/debian_version && ! -e /usr/bin/snap ]]; then
optional_helm
else
error "$red Please ensure that you are using CentOS or Debian... $reset"
exit 1
fi
}
function optional_helm() {
PS3="$yellow Would you like to install helm? [Number]: $reset"
options=("Yes" "No" "Quit")
select choice in "${options[@]}"; do
case $choice in
"Yes")
source "$working_directory"/helm/install_helm
install_observability
break
;;
"No")
install_observability
break
;;
"Quit")
break
;;
*)
echo "$red Invalid option chosen, please try again... $reset"
;;
esac
done
}
function install_observability() {
PS3="$yellow Choose a observability solution for the cluster [Number]: $reset"
options=("Kubernetes Dashboard" "Metrics Server" "WeaveScope" "Grafana" "Prometheus" "Choose Security Tools" "Quit")
select observability_choice in "${options[@]}"; do
case $observability_choice in
"Kubernetes Dashboard")
source "$working_directory"/observability/install_kubernetes_dashboard
install_security
break
;;
"Metrics Server")
source "$working_directory"/observability/install_metrics
install_security
break
;;
"WeaveScope")
source "$working_directory"/observability/install_weavescope
install_security
break
;;
"Grafana")
source "$working_directory"/observability/install_grafana
install_security
break
;;
"Prometheus")
source "$working_directory"/observability/install_prometheus
install_security
break
;;
"Choose Security Tools")
install_security
break
;;
"Quit")
break
;;
*)
echo "$yellow Invalid option, please try again... $reset"
;;
esac
done
}
function install_security() {
PS3="$yellow Choose a security solution for the cluster [Number]: $reset"
options=("OPA Gatekeeper" "Falco" "Quit")
select security_choice in "${options[@]}"; do
case $security_choice in
"OPA Gatekeeper")
source "$working_directory"/security/install_opa_gatekeeper
break
;;
"Falco")
source "$working_directory"/security/install_falco
break
;;
"Quit")
break
;;
*)
echo "$yellow Invalid option, please try again... $reset"
;;
esac
done
}
main "$@"