Skip to content

Commit c5320af

Browse files
committed
update doc and bash
1 parent 9e94cf5 commit c5320af

File tree

2 files changed

+69
-13
lines changed

2 files changed

+69
-13
lines changed

README.md

+8
Original file line numberDiff line numberDiff line change
@@ -79,3 +79,11 @@ $ kubectl get secrets --namespace=logging elasticsearch-master-credentials -ojso
7979
```
8080

8181
* `username is elastic`
82+
83+
# sample project deploy
84+
85+
```bash
86+
kubectl create namespace backend
87+
kubectl apply -f project.yml
88+
```
89+

install.sh

+61-13
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@ show_menu() {
1515
echo "2. Install Kibana"
1616
echo "3. Install Fluent Bit"
1717
echo "4. Install Complete Stack"
18-
echo "5. Exit"
18+
echo "5. Uninstall Complete Stack"
19+
echo "6. Exit"
1920
}
2021

2122
# Setup namespace
@@ -51,28 +52,45 @@ setup_helm_repo_fluentbit() {
5152

5253
# Install components
5354
install_elasticsearch() {
54-
echo "Installing Elasticsearch..."
55-
helm install elasticsearch elastic/elasticsearch -f ek/elasticsearch-values.yaml -n logging || { echo "Failed to install Elasticsearch"; exit 1; }
55+
echo "Checking Elasticsearch installation..."
56+
if helm list -n logging | grep -q "elasticsearch"; then
57+
echo "Elasticsearch already exists, upgrading..."
58+
helm upgrade elasticsearch elastic/elasticsearch -f ek/elasticsearch-values.yaml -n logging || { echo "Failed to upgrade Elasticsearch"; exit 1; }
59+
else
60+
echo "Installing Elasticsearch..."
61+
helm install elasticsearch elastic/elasticsearch -f ek/elasticsearch-values.yaml -n logging || { echo "Failed to install Elasticsearch"; exit 1; }
62+
fi
5663
}
5764

5865
install_kibana() {
59-
echo "Installing Kibana..."
60-
helm install kibana elastic/kibana -f ek/kibana-values.yaml -n logging || { echo "Failed to install Kibana"; exit 1; }
66+
echo "Checking Kibana installation..."
67+
if helm list -n logging | grep -q "kibana"; then
68+
echo "Kibana already exists, upgrading..."
69+
helm upgrade kibana elastic/kibana -f ek/kibana-values.yaml -n logging || { echo "Failed to upgrade Kibana"; exit 1; }
70+
else
71+
echo "Installing Kibana..."
72+
helm install kibana elastic/kibana -f ek/kibana-values.yaml -n logging || { echo "Failed to install Kibana"; exit 1; }
73+
fi
6174
}
6275

6376
install_fluentbit() {
64-
echo "Installing Fluent Bit..."
65-
helm install fluentbit fluent/fluent-bit -f fluentbit/values.yaml -n logging || { echo "Failed to install Fluent Bit"; exit 1; }
77+
echo "Checking Fluent Bit installation..."
78+
if helm list -n logging | grep -q "fluentbit"; then
79+
echo "Fluent Bit already exists, upgrading..."
80+
helm upgrade fluentbit fluent/fluent-bit -f fluentbit/values.yaml -n logging || { echo "Failed to upgrade Fluent Bit"; exit 1; }
81+
else
82+
echo "Installing Fluent Bit..."
83+
helm install fluentbit fluent/fluent-bit -f fluentbit/values.yaml -n logging || { echo "Failed to install Fluent Bit"; exit 1; }
84+
fi
6685
}
6786

6887
# Add sleep function with loading animation
6988
wait_with_loader() {
7089
local seconds=$1
71-
local message="Please wait while the system initializes"
90+
local message="${2:-Please wait while the system initializes}"
7291
local spin='-\|/'
7392
local i=0
7493

75-
echo "Quote: $(get_random_quote)"
7694
for ((s=seconds; s>0; s--)); do
7795
i=$(( (i+1) %4 ))
7896
printf "\r${message} ${spin:$i:1} (${s}s remaining)"
@@ -81,12 +99,39 @@ wait_with_loader() {
8199
printf "\r${message} Done!\n"
82100
}
83101

102+
# Add new uninstall function
103+
uninstall_stack() {
104+
echo "Uninstalling EFK Stack..."
105+
106+
# Uninstall Fluent Bit
107+
if helm list -n logging | grep -q "fluentbit"; then
108+
echo "Uninstalling Fluent Bit..."
109+
helm uninstall fluentbit -n logging || echo "Failed to uninstall Fluent Bit"
110+
fi
111+
112+
# Uninstall Kibana
113+
if helm list -n logging | grep -q "kibana"; then
114+
echo "Uninstalling Kibana..."
115+
helm uninstall kibana -n logging || echo "Failed to uninstall Kibana"
116+
fi
117+
118+
# Uninstall Elasticsearch
119+
if helm list -n logging | grep -q "elasticsearch"; then
120+
echo "Uninstalling Elasticsearch..."
121+
helm uninstall elasticsearch -n logging || echo "Failed to uninstall Elasticsearch"
122+
fi
123+
124+
# Delete namespace
125+
echo "Deleting logging namespace..."
126+
kubectl delete namespace logging --timeout=60s || echo "Failed to delete namespace"
127+
}
128+
84129
# Main execution
85130
main() {
86131
print_banner
87132

88133
show_menu
89-
read -p "Enter your choice (1-5): " choice
134+
read -p "Enter your choice (1-6): " choice
90135

91136
case $choice in
92137
1)
@@ -110,19 +155,22 @@ main() {
110155
setup_helm_repo_fluentbit
111156

112157
install_elasticsearch
113-
wait_with_loader 110
158+
wait_with_loader 110 "Waiting for Elasticsearch to be ready ..."
114159

115160
install_kibana
116-
wait_with_loader 110
161+
wait_with_loader 110 "Waiting for Kibana to be ready ..."
117162

118163
install_fluentbit
119164
;;
120165
5)
166+
uninstall_stack
167+
;;
168+
6)
121169
echo "Exiting..."
122170
exit 0
123171
;;
124172
*)
125-
echo "Invalid option. Please select 1-5."
173+
echo "Invalid option. Please select 1-6."
126174
exit 1
127175
;;
128176
esac

0 commit comments

Comments
 (0)