This commit is contained in:
condor
2026-07-24 18:54:53 +08:00
parent 43c2a411b9
commit 679e0b4184
128 changed files with 13855 additions and 1 deletions
+43
View File
@@ -0,0 +1,43 @@
#!/bin/bash
# ServerStack entry point.
#
# This script is now a THIN ENTRY POINT only. It bootstraps the environment
# and orchestrates the install workflow by calling main() from
# core/workflow.sh. All business logic (system detection, parameter
# parsing, menu, download, install, config, services, summary) has been moved
# into focused modules under lib/ (shared functions), core/ (orchestration)
# and modules/ (per-software installers).
#
# Usage and behavior are unchanged from the previous install.sh.
export PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin
# Ensure cwd is the project root so all relative sources work exactly as before.
# oneinstack_dir is the project root (one level up from bin/); falling back to
# "$0" keeps this working even when readlink -f is unavailable.
oneinstack_dir="$(cd "$(dirname "$(readlink -f "$0" 2>/dev/null || echo "$0")")/.." && pwd)"
cd "${oneinstack_dir}" || exit 1
# Load framework modules (function definitions only; nothing runs yet).
. ./lib/loader.sh
. ./lib/log.sh
. ./core/environment.sh
. ./core/init.sh
. ./core/argument.sh
. ./core/menu.sh
. ./core/validator.sh
. ./core/installer.sh
. ./core/service.sh
. ./core/summary.sh
. ./core/workflow.sh
# Unified exception handling (cleanup / rollback on exit, interrupt, terminate).
# NOTE: ERR is intentionally NOT trapped. Binding ERR would fire trap_handler on
# every non-zero command (even benign ones outside if/&&/||) and auto-write an
# [ERROR] line to install.log, changing the original log output. Logging is done
# explicitly via log_error/error_exit; this trap only guarantees best-effort
# cleanup (currently no-ops) so the happy path and its logs stay faithful.
trap 'trap_handler' EXIT INT TERM
# Run the install workflow.
main "$@"