#!/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) # Script to generate new charts for prometheus-operator HERE=$(dirname $(readlink -f ${BASH_SOURCE[0]})) source $HERE/versions_monitoring V_OPERATOR="" # Assign versions V_OPERATOR=$PROMETHEUS_OPERATOR WORK_DIR=$HERE CHARTS_DIR="$HERE/helm_charts" # 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 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 do #echo "Deleting $i...." rm $i 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 # Deleting Grafana dependence to avoid it installation sed -i -e '/.*- name: grafana.*/,+3d' $CHARTS_DIR/prometheus-operator/requirements.yaml sed -i -e '/.*- name: grafana.*/,+2d' $CHARTS_DIR/prometheus-operator/requirements.lock rm -rf $CHARTS_DIR/prometheus-operator/charts/grafana exit 0