Newer
Older
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
#!/bin/bash
# Copyright 2019 Minsait - Indra S.A.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Author: Jose Manuel Palacios (jmpalacios@minsait.com)
# Author: Jose Antonio Martinez (jamartinezv@minsait.com)
function usage(){
echo -e "usage: $0 [OPTIONS]"
echo -e "Uninstall OSM Monitoring"
echo -e " OPTIONS"
echo -e " -n <namespace>: use specified kubernetes namespace - default: monitoring"
echo -e " --helm : uninstall tiller"
echo -e " --debug : debug script"
echo -e " -h / --help : print this help"
}
NAMESPACE=monitoring
HELM=""
DEBUG=""
while getopts ":h-:n:" o; do
case "${o}" in
h)
usage && exit 0
;;
n)
NAMESPACE="${OPTARG}"
;;
-)
[ "${OPTARG}" == "help" ] && usage && exit 0
[ "${OPTARG}" == "helm" ] && HELM="y" && continue
[ "${OPTARG}" == "debug" ] && DEBUG="y" && continue
echo -e "Invalid option: '--$OPTARG'\n" >&2
usage && exit 1
;;
\?)
echo -e "Invalid option: '-$OPTARG'\n" >&2
usage && exit 1
;;
*)
usage && exit 1
;;
esac
done
function dump_vars(){
echo "NAMESPACE=$NAMESPACE"
echo "HELM=$NOTILLER"
echo "DEBUG=$DEBUG"
}
if [ -n "$DEBUG" ] ; then
set -x
fi
# remove dashboards
echo "Deleting dashboards...."
kubectl -n $NAMESPACE delete configmap osm-monitoring-osm-summary-grafana > /dev/null 2>&1
kubectl -n $NAMESPACE delete configmap osm-monitoring-osm-nodes-grafana > /dev/null 2>&1
kubectl -n $NAMESPACE delete configmap osm-monitoring-prometheus-kafka-exporter-grafana > /dev/null 2>&1
kubectl -n $NAMESPACE delete configmap osm-monitoring-prometheus-mysql-exporter-grafana > /dev/null 2>&1
kubectl -n $NAMESPACE delete configmap osm-monitoring-prometheus-mongodb-exporter-grafana > /dev/null 2>&1
# remove exporters
echo "Deleting exporters...."
helm delete --purge osm-kafka-exporter > /dev/null 2>&1
helm delete --purge osm-mysql-exporter > /dev/null 2>&1
helm delete --purge osm-mongodb-exporter > /dev/null 2>&1
# remove prometheus-operator
echo "Deleting prometheus-operator...."
helm delete --purge osm-monitoring > /dev/null 2>&1
# Delete CRDs
kubectl delete crd prometheusrules.monitoring.coreos.com > /dev/null 2>&1
kubectl delete crd servicemonitors.monitoring.coreos.com > /dev/null 2>&1
kubectl delete crd alertmanagers.monitoring.coreos.com > /dev/null 2>&1
kubectl delete crd prometheuses.monitoring.coreos.com > /dev/null 2>&1
kubectl delete crd alertmanagers.monitoring.coreos.com > /dev/null 2>&1
kubectl delete crd podmonitors.monitoring.coreos.com > /dev/null 2>&1
# Delete monitoring namespace
echo "Deleting monitoring namespace...."
kubectl delete namespace $NAMESPACE
if [ -n "$HELM" ] ; then
sudo helm reset --force
kubectl delete --namespace kube-system serviceaccount tiller
kubectl delete clusterrolebinding tiller-cluster-rule
sudo rm /usr/local/bin/helm
rm -rf $HOME/.helm
fi