From 31932499a99058b75cb431020286f42083a2de0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Tue, 5 Aug 2025 14:14:19 +0200 Subject: [PATCH] Refactor (#6577) --- ct/prometheus-alertmanager.sh | 13 ++++--------- install/prometheus-alertmanager-install.sh | 17 ++++++----------- 2 files changed, 10 insertions(+), 20 deletions(-) diff --git a/ct/prometheus-alertmanager.sh b/ct/prometheus-alertmanager.sh index 7d290052f..4367a84dd 100755 --- a/ct/prometheus-alertmanager.sh +++ b/ct/prometheus-alertmanager.sh @@ -27,24 +27,19 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi + RELEASE=$(curl -fsSL https://api.github.com/repos/prometheus/alertmanager/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') - if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then + if [[ ! -f ~/.alertmanager ]] || [[ "${RELEASE}" != "$(cat ~/.alertmanager)" ]]; then msg_info "Stopping ${APP}" systemctl stop prometheus-alertmanager msg_ok "Stopped ${APP}" - msg_info "Updating ${APP} to v${RELEASE}" - cd /opt - curl -fsSL "https://github.com/prometheus/alertmanager/releases/download/v${RELEASE}/alertmanager-${RELEASE}.linux-amd64.tar.gz" -o $(basename "https://github.com/prometheus/alertmanager/releases/download/v${RELEASE}/alertmanager-${RELEASE}.linux-amd64.tar.gz") - tar -xf alertmanager-${RELEASE}.linux-amd64.tar.gz - cp -rf alertmanager-${RELEASE}.linux-amd64/alertmanager alertmanager-${RELEASE}.linux-amd64/amtool /usr/local/bin/ - rm -rf alertmanager-${RELEASE}.linux-amd64 alertmanager-${RELEASE}.linux-amd64.tar.gz - echo "${RELEASE}" >/opt/${APP}_version.txt - msg_ok "Updated ${APP} to v${RELEASE}" + fetch_and_deploy_gh_release "alertmanager" "prometheus/alertmanager" "prebuild" "latest" "/usr/local/bin/" "alertmanager*linux-amd64.tar.gz" msg_info "Starting ${APP}" systemctl start prometheus-alertmanager msg_ok "Started ${APP}" + msg_ok "Updated Successfully" else msg_ok "No update required. ${APP} is already at v${RELEASE}" diff --git a/install/prometheus-alertmanager-install.sh b/install/prometheus-alertmanager-install.sh index 9b01f93f6..aff91ebee 100755 --- a/install/prometheus-alertmanager-install.sh +++ b/install/prometheus-alertmanager-install.sh @@ -13,16 +13,12 @@ setting_up_container network_check update_os -msg_info "Installing Prometheus Alertmanager" -RELEASE=$(curl -fsSL https://api.github.com/repos/prometheus/alertmanager/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -mkdir -p /etc/alertmanager -mkdir -p /var/lib/alertmanager -curl -fsSL "https://github.com/prometheus/alertmanager/releases/download/v${RELEASE}/alertmanager-${RELEASE}.linux-amd64.tar.gz" -o "alertmanager-${RELEASE}.linux-amd64.tar.gz" -tar -xf alertmanager-${RELEASE}.linux-amd64.tar.gz -mv alertmanager-${RELEASE}.linux-amd64/alertmanager alertmanager-${RELEASE}.linux-amd64/amtool /usr/local/bin/ -mv alertmanager-${RELEASE}.linux-amd64/alertmanager.yml /etc/alertmanager/alertmanager.yml -echo "${RELEASE}" >/opt/${APPLICATION}_version.txt -msg_ok "Installed Prometheus Alertmanager" +fetch_and_deploy_gh_release "alertmanager" "prometheus/alertmanager" "prebuild" "latest" "/usr/local/bin/" "alertmanager*linux-amd64.tar.gz" + +msg_info "Configuring Prometheus Alertmanager" +mkdir -p /etc/alertmanager /var/lib/alertmanager +mv /usr/local/bin/alertmanager.yml /etc/alertmanager/alertmanager.yml +msg_ok "Configured Prometheus Alertmanager" msg_info "Creating Service" cat </etc/systemd/system/prometheus-alertmanager.service @@ -53,5 +49,4 @@ customize msg_info "Cleaning up" $STD apt-get -y autoremove $STD apt-get -y autoclean -rm -rf alertmanager-${RELEASE}.linux-amd64 alertmanager-${RELEASE}.linux-amd64.tar.gz msg_ok "Cleaned"