ops: split ready and full healthchecks

This commit is contained in:
server
2026-04-14 13:58:13 +02:00
parent 5b0da5a685
commit 4fccf13e09
5 changed files with 117 additions and 26 deletions

View File

@@ -8,6 +8,38 @@ if [[ "${EUID}" -ne 0 ]]; then
exit 1
fi
MODE="full"
while (($#)); do
case "$1" in
--mode)
shift
if (($# == 0)); then
echo "Missing value for --mode" >&2
exit 1
fi
MODE="$1"
;;
--mode=*)
MODE="${1#*=}"
;;
*)
echo "Unknown argument: $1" >&2
exit 1
;;
esac
shift
done
case "${MODE}" in
ready|full)
;;
*)
echo "Unsupported mode: ${MODE} (expected ready or full)" >&2
exit 1
;;
esac
: "${RUN_AS_USER:=mt2.jakubkadlec.dev}"
: "${SERVER_HOST:=173.249.9.66}"
: "${AUTH_PORT:=11000}"
@@ -156,26 +188,35 @@ cleanup() {
trap cleanup EXIT
DELETE_ACCOUNT_ID="$(create_account "${DELETE_LOGIN}" "${DELETE_PASSWORD}" "${DELETE_SOCIAL_ID}" "${DELETE_EMAIL}")"
create_player_index "${DELETE_ACCOUNT_ID}"
FULL_ACCOUNT_ID="$(create_account "${FULL_LOGIN}" "${FULL_PASSWORD}" "${FULL_SOCIAL_ID}" "${FULL_EMAIL}")"
create_player_index "${FULL_ACCOUNT_ID}"
echo "Running create/delete healthcheck for temporary account ${DELETE_LOGIN}"
sudo -iu "${RUN_AS_USER}" env METIN_LOGIN_SMOKE_PASSWORD="${DELETE_PASSWORD}" \
"${SMOKE_BIN}" "${SERVER_HOST}" "${AUTH_PORT}" "${CHANNEL_PORT}" "${DELETE_LOGIN}" \
--password-env=METIN_LOGIN_SMOKE_PASSWORD \
--create-character-name="${DELETE_CHARACTER_NAME}" \
--delete-private-code="${DELETE_PRIVATE_CODE}" \
if [[ "${MODE}" == "full" ]]; then
DELETE_ACCOUNT_ID="$(create_account "${DELETE_LOGIN}" "${DELETE_PASSWORD}" "${DELETE_SOCIAL_ID}" "${DELETE_EMAIL}")"
create_player_index "${DELETE_ACCOUNT_ID}"
echo "Running create/delete healthcheck for temporary account ${DELETE_LOGIN}"
sudo -iu "${RUN_AS_USER}" env METIN_LOGIN_SMOKE_PASSWORD="${DELETE_PASSWORD}" \
"${SMOKE_BIN}" "${SERVER_HOST}" "${AUTH_PORT}" "${CHANNEL_PORT}" "${DELETE_LOGIN}" \
--password-env=METIN_LOGIN_SMOKE_PASSWORD \
--create-character-name="${DELETE_CHARACTER_NAME}" \
--delete-private-code="${DELETE_PRIVATE_CODE}" \
--client-version="${CLIENT_VERSION}"
fi
echo "Running ${MODE} login healthcheck for temporary account ${FULL_LOGIN}"
FULL_ARGS=(
"${SMOKE_BIN}" "${SERVER_HOST}" "${AUTH_PORT}" "${CHANNEL_PORT}" "${FULL_LOGIN}"
--password-env=METIN_LOGIN_SMOKE_PASSWORD
--create-character-name="${FULL_CHARACTER_NAME}"
--client-version="${CLIENT_VERSION}"
)
if [[ "${MODE}" == "full" ]]; then
FULL_ARGS+=(--mall-password="${MALL_PASSWORD}")
fi
echo "Running full login healthcheck for temporary account ${FULL_LOGIN}"
sudo -iu "${RUN_AS_USER}" env METIN_LOGIN_SMOKE_PASSWORD="${FULL_PASSWORD}" \
"${SMOKE_BIN}" "${SERVER_HOST}" "${AUTH_PORT}" "${CHANNEL_PORT}" "${FULL_LOGIN}" \
--password-env=METIN_LOGIN_SMOKE_PASSWORD \
--create-character-name="${FULL_CHARACTER_NAME}" \
--client-version="${CLIENT_VERSION}" \
--mall-password="${MALL_PASSWORD}"
"${FULL_ARGS[@]}"
echo "Login healthcheck passed"
echo "${MODE^} login healthcheck passed"