# Author: Jose Manuel Palacios (jmpalacios@minsait.com)
# Author: Jose Antonio Martinez (jamartinezv@minsait.com)
-# Script to generate new charts for prometheus-operator
+# Script to generate new charts for kube-prometheus-stack
HERE=$(dirname $(readlink -f ${BASH_SOURCE[0]}))
source $HERE/versions_monitoring
V_OPERATOR=""
WORK_DIR=$HERE
CHARTS_DIR="$HERE/helm_charts"
+mkdir -p $CHARTS_DIR
-# This two objects are not exporting metrics
-DELETE_YAML_DAHSBOARDS="etcd.yaml \
- proxy.yaml"
-DELETE_YAML_RULES="etcd.yaml"
-
-# There is a bug in this dashboard and it is necessary to change it
-CHANGE_YAML_DAHSBOARDS="statefulset.yaml"
# Delete old versions
cd $CHARTS_DIR
-rm -rf prometheus-operator > /dev/null 2>&1
-rm prometheus-operator* > /dev/null 2>&1
-
-echo "Fetching stable/prometheus-operator..."
-helm fetch --version=$V_OPERATOR stable/prometheus-operator
-tar xvf prometheus-operator-$V_OPERATOR.tgz > /dev/null 2>&1
+rm -rf kube-prometheus-stack > /dev/null 2>&1
+rm kube-prometheus-stack* > /dev/null 2>&1
+echo "Fetching prometheus-community/kube-prometheus-stack..."
+helm fetch --version=$V_OPERATOR prometheus-community/kube-prometheus-stack
+tar xvf kube-prometheus-stack-$V_OPERATOR.tgz > /dev/null 2>&1
cd $WORK_DIR
-# Deleting grafana dashboard
-echo "Changing prometheus-operator grafana dashboards...."
-cd $CHARTS_DIR/prometheus-operator/templates/grafana/dashboards-1.14
-for i in $DELETE_YAML_DAHSBOARDS
+
+# Patching Grafana dashboards
+cd $CHARTS_DIR/kube-prometheus-stack/templates/grafana/dashboards-1.14
+for f in $(find . -name '*.yaml*');
do
- #echo "Deleting $i...."
- rm $i
+ # Set the correct datasource in all dashboards
+ linenumber=`cat -n $f | grep -A8 '"name": "datasource"' | grep regex | awk '{print $1}'`
+ sed -e "$linenumber s/\"regex\": \"\"/\"regex\": \"Prometheus\"/" -i $f
done
-
-# Change CHANGE_YAML_DAHSBOARDS because it has an error
-mv $CHANGE_YAML_DAHSBOARDS ${CHANGE_YAML_DAHSBOARDS}.ORI
-cat ${CHANGE_YAML_DAHSBOARDS}.ORI | \
- sed 's@{job=\\\"kube-state-metrics\\\"}, cluster=\\\"\$cluster\\\",@{job=\\\"kube-state-metrics\\\", cluster=\\\"\$cluster\\\"},@' > \
- $CHANGE_YAML_DAHSBOARDS
-chmod 755 $CHANGE_YAML_DAHSBOARDS
-rm ${CHANGE_YAML_DAHSBOARDS}.ORI
-
cd $WORK_DIR
-# Deleting prometheus rules
-echo "Changing prometheus-operator rules...."
-cd $CHARTS_DIR/prometheus-operator/templates/prometheus/rules-1.14
-for i in $DELETE_YAML_RULES
-do
- #echo "Deleting $i...."
- rm $i
-done
exit 0