-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsetup.sh
More file actions
executable file
·82 lines (66 loc) · 2.24 KB
/
Copy pathsetup.sh
File metadata and controls
executable file
·82 lines (66 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
#!/bin/bash
SERVICES=(
nginx \
mysql \
phpmyadmin \
wordpress \
influxdb \
telegraf \
grafana \
ftps \
)
PROJECT_DIR=$(pwd)
NAMESPACE=pramella
printf "
____ ___ ____ ____ ____ _ _ _ ____ ____ ____
|___ | [__ |___ |__/ | | | | |___ [__
| | ___ ___] |___ | \ \/ | |___ |___ ___]\n"
printf "\nwe will use the '$NAMESPACE' namespace\nctrl-C if you want to change it in the scripts variables\n\n"
sleep 3
if [[ $1 == "super-clean" ]]; then
eval $(minikube docker-env)
printf "deleting $NAMESPACE namespace... "
kubectl delete namespace $NAMESPACE > /dev/null 2>&1
printf "✅ \n"
for service in "${SERVICES[@]}"
do
printf "🐳 removing $service\n"
docker rmi -f $service:v1 > /dev/null 2>&1
done
printf "🐳 running container/system prune\n"
echo "y" | docker system prune -a -f > /dev/null
echo "y" | docker container prune -f > /dev/null
exit 0
fi
printf "starting minikube... "
minikube start > /dev/null
printf "✅\n"
MINIKUBE_IP=$(minikube ip)
printf "telling minikube to use docker daemon... "
eval $(minikube docker-env)
printf "✅ \n"
if [[ $1 == "clean" ]]; then
printf "deleting $NAMESPACE namespace... "
kubectl delete namespace $NAMESPACE > /dev/null 2>&1
printf "✅ \n"
fi
printf "creating $NAMESPACE namespace... "
kubectl create namespace $NAMESPACE > /dev/null 2>&1
printf "✅ \n"
printf "\n✨ enabling and deploying ingress\n"
minikube addons enable ingress > /dev/null
kubectl apply -f srcs/ingress/ingress.yaml --namespace=$NAMESPACE > /dev/null
# dirty way to update minikube ip for wp url/home in swl db to fit
cp srcs/mysql/srcs/wp.sql.bak srcs/mysql/srcs/wp.sql
sed -i "" "s/__MINIKUBE_IP__/$MINIKUBE_IP/g" srcs/mysql/srcs/wp.sql
for service in "${SERVICES[@]}"
do
printf "\n🐳 building $service\n"
docker build -t $service:v1 $PROJECT_DIR/srcs/$service > /dev/null
printf "✨ deploying $service\n"
kubectl apply -R -f $PROJECT_DIR/srcs/$service/k8s --namespace=$NAMESPACE > /dev/null
done
printf "\n🌈 done...\n\n"
./display.sh $NAMESPACE
# kubectl exec -it -n pramella $(kubectl get pod -n pramella -l "app=nginx" -o name | sed 's/pods\///') -- /bin/sh -c "ps"
# kubectl exec -it -n pramella $(kubectl get pod -n pramella -l "app=nginx" -o name | sed 's/pods\///') -- /bin/sh -c "kill pid"