From ff8be92e285f09dca5153576c6f07476ba1bfc32 Mon Sep 17 00:00:00 2001 From: Max Ronzhin Date: Sun, 26 Jul 2026 02:57:36 +0300 Subject: [PATCH] =?UTF-8?q?install.sh:=20=D1=84=D0=BB=D0=B0=D0=B3=20--moni?= =?UTF-8?q?toring=20=E2=80=94=20install.sh=20=D0=BD=D0=B8=20=D0=B2=20?= =?UTF-8?q?=D0=BE=D0=B4=D0=BD=D0=BE=D0=BC=20=D0=BF=D1=80=D0=B5=D1=81=D0=B5?= =?UTF-8?q?=D1=82=D0=B5=20=D0=BD=D0=B5=20=D0=BF=D0=BE=D0=B4=D0=BD=D0=B8?= =?UTF-8?q?=D0=BC=D0=B0=D0=BB=20monitoring?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit set_env_var COMPOSE_PROFILES перезаписывает значение целиком по пресету, затирая media,monitoring из .env.example — Grafana/Prometheus оставались не поднятыми, пока оператор не допишет профиль в .env вручную. --monitoring дописывает monitoring к профилю, который выставил пресет, и включает его сразу в тот же docker compose up (не только в .env). --- install.sh | 44 ++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 40 insertions(+), 4 deletions(-) diff --git a/install.sh b/install.sh index e995c8e..5db006e 100755 --- a/install.sh +++ b/install.sh @@ -21,6 +21,7 @@ # ./install.sh # интерактивный опросник # ./install.sh --preset 3 # неинтерактивно, пресет 3 # ./install.sh --preset 3 --yes # без подтверждений (скрипты/CI) +# ./install.sh --preset 2 --monitoring --yes # + профиль monitoring (Grafana/Prometheus) set -euo pipefail SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" @@ -33,6 +34,12 @@ VERSION_FILE="$SCRIPT_DIR/VERSION" PRESET="" ASSUME_YES=0 +# По умолчанию 0: `set_env_var COMPOSE_PROFILES` ниже (по каждому пресету) +# перезаписывает значение целиком, затирая `media,monitoring` из +# .env.example — без этого флага мониторинг остаётся не поднятым, пока +# оператор не допишет профиль вручную (см. .forcc/deploy/SESSION4-FINDINGS.md, +# ГРАБЛИ 2). +MONITORING=0 while [ $# -gt 0 ]; do case "$1" in @@ -44,6 +51,10 @@ while [ $# -gt 0 ]; do ASSUME_YES=1 shift ;; + --monitoring) + MONITORING=1 + shift + ;; -h|--help) grep -E '^#( |$)' "$0" | sed 's/^#//' exit 0 @@ -466,6 +477,17 @@ case "$PRESET" in ;; esac +# --monitoring: дописать профиль monitoring к тому, что выставил пресет +# выше (set_env_var перезаписывает значение целиком, поэтому мониторинг +# нельзя было получить только сменой пресета — см. комментарий у MONITORING). +if [ "$MONITORING" = "1" ]; then + current_profiles="$(get_env_var COMPOSE_PROFILES)" + case ",${current_profiles}," in + *,monitoring,*) ;; + *) set_env_var COMPOSE_PROFILES "${current_profiles},monitoring" ;; + esac +fi + echo "[install] .env обновлён (пресет ${PRESET}, COMPOSE_PROFILES=$(get_env_var COMPOSE_PROFILES))" echo "[install] Проверяю .env на dev-плейсхолдеры перед подъёмом стека" @@ -562,6 +584,23 @@ ADMIN_EMAIL="$(get_env_var SEED_ADMIN_EMAIL)" ADMIN_PASSWORD="$(get_env_var SEED_ADMIN_PASSWORD)" GRAFANA_USER="$(get_env_var GRAFANA_ADMIN_USER)" +if [ "$MONITORING" = "1" ]; then + MONITORING_BLOCK="$(cat <