fix(install): готовность приложения проверяется по адресу привязки
Установщик ждал /readyz на 127.0.0.1:8080, хотя во внешнем режиме и на стенде приложение слушает адрес туннеля (--app-bind-addr): установка всегда сообщала «приложение не ответило за 60 с» и «готовность не подтверждена», хотя инстанс был жив. Логика та же, что в deploy/update.sh, restore.sh и glchat-cli.sh (0.0.0.0/пусто → 127.0.0.1); адрес печатается в сообщении, чтобы причина была видна сразу.
This commit is contained in:
+16
-4
@@ -128,6 +128,17 @@ GLCHAT_UPDATES_DIR="${GLCHAT_UPDATES_DIR:-${TARGET_DIR}/updates}"
|
|||||||
GLCHAT_INSTALL_LOG="${TARGET_DIR}/install.log"
|
GLCHAT_INSTALL_LOG="${TARGET_DIR}/install.log"
|
||||||
GLCHAT_ENV_FILE="${TARGET_DIR}/.env"
|
GLCHAT_ENV_FILE="${TARGET_DIR}/.env"
|
||||||
|
|
||||||
|
# app_check_url печатает адрес /readyz с учётом привязки приложения: во внешнем
|
||||||
|
# режиме и на стенде приложение слушает не localhost, а адрес туннеля, поэтому
|
||||||
|
# проверка 127.0.0.1 всегда падала бы (AGENT.md 10.13).
|
||||||
|
app_check_url() {
|
||||||
|
local port="$1" host="${2:-}"
|
||||||
|
case "$host" in
|
||||||
|
0.0.0.0 | "" | "::") host="127.0.0.1" ;;
|
||||||
|
esac
|
||||||
|
printf 'http://%s:%s/readyz' "$host" "$port"
|
||||||
|
}
|
||||||
|
|
||||||
usage() {
|
usage() {
|
||||||
cat <<'EOF'
|
cat <<'EOF'
|
||||||
install.sh — установка glchat (AGENT.md 10).
|
install.sh — установка glchat (AGENT.md 10).
|
||||||
@@ -1660,16 +1671,17 @@ start_stack() {
|
|||||||
restart_livekit_if_config_changed
|
restart_livekit_if_config_changed
|
||||||
|
|
||||||
info "ожидаем готовности приложения"
|
info "ожидаем готовности приложения"
|
||||||
local waited=0
|
local ready_url waited=0
|
||||||
until curl -fsS "http://127.0.0.1:${APP_PORT}/readyz" >/dev/null 2>&1; do
|
ready_url="$(app_check_url "$APP_PORT" "$APP_BIND_ADDR")"
|
||||||
|
until curl -fsS "$ready_url" >/dev/null 2>&1; do
|
||||||
waited=$((waited + 2))
|
waited=$((waited + 2))
|
||||||
if [ "$waited" -ge 60 ]; then
|
if [ "$waited" -ge 60 ]; then
|
||||||
warn "приложение не ответило за 60 с — смотрите: glchat logs app"
|
warn "приложение не ответило за 60 с ($ready_url) — смотрите: glchat logs app"
|
||||||
break
|
break
|
||||||
fi
|
fi
|
||||||
sleep 2
|
sleep 2
|
||||||
done
|
done
|
||||||
curl -fsS "http://127.0.0.1:${APP_PORT}/readyz" >/dev/null 2>&1 && ok "приложение готово" || warn "готовность не подтверждена"
|
curl -fsS "$ready_url" >/dev/null 2>&1 && ok "приложение готово ($ready_url)" || warn "готовность не подтверждена ($ready_url)"
|
||||||
}
|
}
|
||||||
|
|
||||||
bootstrap_admin() {
|
bootstrap_admin() {
|
||||||
|
|||||||
Reference in New Issue
Block a user