chore(sync): auto-detect persisted server port

This commit is contained in:
Brad Stein 2026-04-28 02:47:46 -03:00
parent e62142b95d
commit deaaec8a07

View File

@ -11,7 +11,8 @@ REPO_ROOT="$(cd -- "${SCRIPT_DIR}/../.." >/dev/null 2>&1 && pwd)"
TETHYS_HOST=${TETHYS_HOST:-tethys}
LESAVKA_SERVER_HOST=${LESAVKA_SERVER_HOST:-theia}
LESAVKA_SERVER_ADDR=${LESAVKA_SERVER_ADDR:-http://38.28.125.112:50051}
LESAVKA_SERVER_CONNECT_HOST=${LESAVKA_SERVER_CONNECT_HOST:-38.28.125.112}
LESAVKA_SERVER_ADDR=${LESAVKA_SERVER_ADDR:-auto}
PROBE_DURATION_SECONDS=${PROBE_DURATION_SECONDS:-10}
PROBE_WARMUP_SECONDS=${PROBE_WARMUP_SECONDS:-4}
LEAD_IN_SECONDS=${LEAD_IN_SECONDS:-8}
@ -48,6 +49,28 @@ STAMP="$(date +%Y%m%d-%H%M%S)"
LOCAL_CAPTURE="${LOCAL_OUTPUT_DIR}/lesavka-upstream-av-sync-${STAMP}.mkv"
LOCAL_ANALYSIS_JSON="${LOCAL_CAPTURE%.mkv}.json"
LOCAL_CAPTURE_LOG="${LOCAL_CAPTURE%.mkv}.capture.log"
RESOLVED_LESAVKA_SERVER_ADDR=""
resolve_server_addr() {
if [[ "${LESAVKA_SERVER_ADDR}" != "auto" ]]; then
RESOLVED_LESAVKA_SERVER_ADDR="${LESAVKA_SERVER_ADDR}"
return 0
fi
local bind_addr port
bind_addr="$(
ssh ${SSH_OPTS} "${LESAVKA_SERVER_HOST}" \
"grep -E '^LESAVKA_SERVER_BIND_ADDR=' /etc/lesavka/server.env 2>/dev/null | tail -n1 | cut -d= -f2-" \
2>/dev/null || true
)"
port="${bind_addr##*:}"
if [[ "${port}" =~ ^[0-9]+$ ]]; then
RESOLVED_LESAVKA_SERVER_ADDR="http://${LESAVKA_SERVER_CONNECT_HOST}:${port}"
return 0
fi
RESOLVED_LESAVKA_SERVER_ADDR="http://${LESAVKA_SERVER_CONNECT_HOST}:50051"
}
preflight_server_path() {
[[ "${REMOTE_SERVER_PREFLIGHT}" != "0" ]] || return 0
@ -115,6 +138,9 @@ if [[ ! -x "${ANALYZE_BIN}" ]]; then
exit 1
fi
resolve_server_addr
echo "==> resolved Lesavka server addr: ${RESOLVED_LESAVKA_SERVER_ADDR}"
preflight_server_path
echo "==> starting Tethys capture on ${TETHYS_HOST}"
@ -609,12 +635,12 @@ capture_pid=$!
sleep "${LEAD_IN_SECONDS}"
echo "==> running local Lesavka sync probe against ${LESAVKA_SERVER_ADDR}"
echo "==> running local Lesavka sync probe against ${RESOLVED_LESAVKA_SERVER_ADDR}"
probe_status=0
(
cd "${REPO_ROOT}"
"${PROBE_BIN}" \
--server "${LESAVKA_SERVER_ADDR}" \
--server "${RESOLVED_LESAVKA_SERVER_ADDR}" \
--duration-seconds "${PROBE_DURATION_SECONDS}" \
--warmup-seconds "${PROBE_WARMUP_SECONDS}"
) || probe_status=$?