diff --git a/files/generate-config.sh b/files/generate-config.sh index 4729a62..540c72d 100644 --- a/files/generate-config.sh +++ b/files/generate-config.sh @@ -1,8 +1,6 @@ #!/bin/bash set -euo pipefail -tmpfile=`mktemp` - ( cat /etc/prometheus/conf.d/*.conf @@ -13,9 +11,14 @@ echo " alertmanagers:" echo "scrape_configs:" cat /etc/prometheus/conf.d/scrape_configs/*.conf -) > $tmpfile +) > /etc/prometheus/prometheus.yml.new -chmod 0644 $tmpfile -mv $tmpfile /etc/prometheus/prometheus.yml -/usr/bin/systemctl reload prometheus -/usr/bin/systemctl reload prometheus-alertmanager || true +chmod 0644 /etc/prometheus/prometheus.yml.new + +if ! diff -q /etc/prometheus/prometheus.yml.new /etc/prometheus/prometheus.yml > /dev/null; then + mv /etc/prometheus/prometheus.yml.new /etc/prometheus/prometheus.yml + /usr/bin/systemctl reload prometheus + /usr/bin/systemctl reload prometheus-alertmanager || true +else + rm -f /etc/prometheus/prometheus.yml.new +fi