43 lines
1.6 KiB
Bash
43 lines
1.6 KiB
Bash
#!/usr/bin/env bash
|
||
# 幂等:同步配置中心默认 JSON → /opt/live/config,生成 system-stack.env,安装 Hub(无业务模块)
|
||
set -euo pipefail
|
||
ROOT="$(cd "$(dirname "$0")/../.." && pwd)"
|
||
REPO="$(cd "$ROOT/.." && pwd)"
|
||
# shellcheck source=/dev/null
|
||
source "$ROOT/scripts/lib/common.sh"
|
||
|
||
ARCH="$(detect_arch)"
|
||
echo "[live-platform] install-core arch=$ARCH"
|
||
|
||
ensure_live_dirs
|
||
|
||
if [[ ! -f /opt/live/config/system.json ]]; then
|
||
cp -a "$ROOT/config/defaults/system.json" /opt/live/config/system.json
|
||
fi
|
||
if [[ ! -f /opt/live/config/network.json ]]; then
|
||
cp -a "$ROOT/config/defaults/network.json" /opt/live/config/network.json
|
||
fi
|
||
if command -v rsync >/dev/null 2>&1; then
|
||
rsync -a --ignore-existing "$ROOT/config/defaults/services/" /opt/live/config/services/
|
||
rsync -a --ignore-existing "$ROOT/config/defaults/business/" /opt/live/config/business/
|
||
else
|
||
cp -n "$ROOT/config/defaults/services/"*.json /opt/live/config/services/ 2>/dev/null || true
|
||
cp -n "$ROOT/config/defaults/business/"*.json /opt/live/config/business/ 2>/dev/null || true
|
||
fi
|
||
|
||
export LIVE_CONFIG_ROOT="${LIVE_CONFIG_ROOT:-/opt/live/config}"
|
||
python3 "$ROOT/tools/render_stack_env.py" /opt/live/generated/system-stack.env
|
||
|
||
if [[ -n "${LINK_REPO_CONFIG:-}" ]]; then
|
||
mkdir -p "$REPO/config"
|
||
ln -sf /opt/live/generated/system-stack.env "$REPO/config/system-stack.env"
|
||
fi
|
||
|
||
if [[ -x "$REPO/scripts/linux/install_hub.sh" ]]; then
|
||
bash "$REPO/scripts/linux/install_hub.sh" "$@"
|
||
else
|
||
echo "[live-platform] WARN: scripts/linux/install_hub.sh missing, skip hub packages"
|
||
fi
|
||
|
||
echo "[live-platform] install-core done. Env: /opt/live/generated/system-stack.env"
|