SHA256
Промежуточный коммит: состояние до нормальной Solana-first регистрации
This commit is contained in:
+63
-3
@@ -6,6 +6,7 @@ REMOTE_HOST="${REMOTE_HOST:-player@45.136.124.227}"
|
||||
REMOTE_UI_DIR="${REMOTE_UI_DIR:-/home/player/SHiNE/shine-ui}"
|
||||
EXPECTED_CADDY_UI_ROOT="${EXPECTED_CADDY_UI_ROOT:-/home/player/SHiNE/shine-ui}"
|
||||
ALLOW_CADDY_MISMATCH="${ALLOW_CADDY_MISMATCH:-0}"
|
||||
EXPECTED_CADDY_SITE="${EXPECTED_CADDY_SITE:-shineup.me}"
|
||||
BUILD_VERSION="$(date -u +%Y%m%d%H%M%S)"
|
||||
VERSION_FILE="VERSION.properties"
|
||||
export BUILD_VERSION
|
||||
@@ -59,9 +60,68 @@ CADDY_CONFIG_PATH="$(ssh "$REMOTE_HOST" "set -e; \
|
||||
cfg=\$(printf '%s' \"\$exec_line\" | sed -n 's/.*--config \\([^ ]*\\).*/\\1/p' | head -n 1); \
|
||||
if [ -z \"\$cfg\" ]; then cfg=/etc/caddy/Caddyfile; fi; \
|
||||
printf '%s' \"\$cfg\"")"
|
||||
CADDY_ROOT_LINE="$(ssh "$REMOTE_HOST" "sudo grep -n 'root \\* ' '$CADDY_CONFIG_PATH' | head -n 1 || true")"
|
||||
if [[ -n "$CADDY_ROOT_LINE" && "$CADDY_ROOT_LINE" != *"$EXPECTED_CADDY_UI_ROOT"* ]]; then
|
||||
echo "ERROR: Caddy root mismatch. Found: $CADDY_ROOT_LINE" >&2
|
||||
ROOT_CHECK_OUTPUT="$(ssh "$REMOTE_HOST" "set -euo pipefail; \
|
||||
cfg='$CADDY_CONFIG_PATH'; \
|
||||
site='$EXPECTED_CADDY_SITE'; \
|
||||
sudo awk -v site=\"\$site\" '
|
||||
BEGIN { in_site=0; depth=0; root_line=\"\"; root_lineno=0; have_site=0; }
|
||||
{
|
||||
line=\$0;
|
||||
trimmed=line;
|
||||
sub(/^[[:space:]]+/, \"\", trimmed);
|
||||
sub(/[[:space:]]+$/, \"\", trimmed);
|
||||
|
||||
if (!in_site) {
|
||||
if (trimmed ~ \"^\" site \"[[:space:]]*\\\\{\") {
|
||||
in_site=1;
|
||||
have_site=1;
|
||||
depth=1;
|
||||
next;
|
||||
}
|
||||
} else {
|
||||
if (trimmed ~ /^root[[:space:]]+\\*[[:space:]]+/ && root_line == \"\") {
|
||||
root_line=line;
|
||||
root_lineno=NR;
|
||||
}
|
||||
opens=gsub(/\\{/, \"{\", line);
|
||||
closes=gsub(/\\}/, \"}\", line);
|
||||
depth += (opens - closes);
|
||||
if (depth <= 0) {
|
||||
in_site=0;
|
||||
}
|
||||
}
|
||||
}
|
||||
END {
|
||||
if (!have_site) {
|
||||
print \"SITE_NOT_FOUND\";
|
||||
exit 0;
|
||||
}
|
||||
if (root_line == \"\") {
|
||||
print \"ROOT_NOT_FOUND\";
|
||||
exit 0;
|
||||
}
|
||||
print root_lineno \":\" root_line;
|
||||
}
|
||||
' \"\$cfg\"")"
|
||||
|
||||
if [[ "$ROOT_CHECK_OUTPUT" == "SITE_NOT_FOUND" ]]; then
|
||||
echo "ERROR: Caddy site block not found: $EXPECTED_CADDY_SITE" >&2
|
||||
echo "Caddy config: $CADDY_CONFIG_PATH" >&2
|
||||
if [[ "$ALLOW_CADDY_MISMATCH" != "1" ]]; then
|
||||
echo "Set ALLOW_CADDY_MISMATCH=1 to bypass this check." >&2
|
||||
exit 1
|
||||
fi
|
||||
echo "WARN: proceeding due to ALLOW_CADDY_MISMATCH=1"
|
||||
elif [[ "$ROOT_CHECK_OUTPUT" == "ROOT_NOT_FOUND" ]]; then
|
||||
echo "ERROR: root directive not found inside site block: $EXPECTED_CADDY_SITE" >&2
|
||||
echo "Caddy config: $CADDY_CONFIG_PATH" >&2
|
||||
if [[ "$ALLOW_CADDY_MISMATCH" != "1" ]]; then
|
||||
echo "Set ALLOW_CADDY_MISMATCH=1 to bypass this check." >&2
|
||||
exit 1
|
||||
fi
|
||||
echo "WARN: proceeding due to ALLOW_CADDY_MISMATCH=1"
|
||||
elif [[ "$ROOT_CHECK_OUTPUT" != *"$EXPECTED_CADDY_UI_ROOT"* ]]; then
|
||||
echo "ERROR: Caddy root mismatch for site $EXPECTED_CADDY_SITE. Found: $ROOT_CHECK_OUTPUT" >&2
|
||||
echo "Caddy config: $CADDY_CONFIG_PATH" >&2
|
||||
echo "Expected path fragment: $EXPECTED_CADDY_UI_ROOT" >&2
|
||||
if [[ "$ALLOW_CADDY_MISMATCH" != "1" ]]; then
|
||||
|
||||
Reference in New Issue
Block a user