#!/bin/bash
# ============================================================
# ZONGYUAN-ROOT 联邦网络 - 通用节点部署包打包脚本
# 版本: 1.0
# 用途: 将通用部署目录下所有文件打包为 universal-node-deploy.tar.gz
# 用法: bash pack.sh
# ============================================================

set -e

SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
PACK_NAME="universal-node-deploy"
OUTPUT_FILE="${SCRIPT_DIR}/${PACK_NAME}.tar.gz"
MANIFEST_FILE="${SCRIPT_DIR}/MANIFEST.txt"

echo "============================================"
echo " ZONGYUAN-ROOT 通用节点部署包打包工具"
echo "============================================"
echo ""

# 生成文件清单
echo ">>> 生成文件清单 MANIFEST.txt..."
cat > "${MANIFEST_FILE}" << 'MANIFEST_EOF'
================================================================================
ZONGYUAN-ROOT 联邦网络 - 通用节点部署包 MANIFEST
================================================================================
打包时间: MANIFEST_DATE
================================================================================

文件列表:
  node_register.py      - 通用节点自动注册脚本（Linux/macOS/Windows）
  deploy_worker.py      - 通用 Worker 守护组件部署脚本
  octop_worker.py       - 节点元监控与自愈守护进程
  SOP-NODE-ADMISSION.md - 标准化节点接入 SOP 流程文档
  pack.sh               - 本打包脚本
  index.html            - 部署包索引页面

节点身份:
  基于硬件指纹（machine-id/UUID）自动生成
  格式: NODE-{平台}-{指纹前8位}

内核镜像源（多源容错）:
  主源: https://gitee.com/huodou-cloud-intelligence-aios/zongyuan-kernel.git
  兜底: https://www.huodouai.com/deploy/universal/kernel-mirror.tar.gz

云端网关:
  https://www.huodouai.com/api/report/truth (X-DID 鉴权)

确权锚点:
  Ω₀⊂⊙∞⊂Ω | DID-BR-000002

================================================================================
MANIFEST_EOF

# 替换打包日期
PACK_DATE=$(date '+%Y-%m-%d %H:%M:%S %Z')
sed -i "s/MANIFEST_DATE/${PACK_DATE}/" "${MANIFEST_FILE}"

# 打包
echo ">>> 正在打包..."
cd "${SCRIPT_DIR}"
tar -czf "${OUTPUT_FILE}" \
    node_register.py \
    deploy_worker.py \
    octop_worker.py \
    SOP-NODE-ADMISSION.md \
    pack.sh \
    index.html \
    MANIFEST.txt \
    2>/dev/null

# 计算校验和
SHA256=$(sha256sum "${OUTPUT_FILE}" | awk '{print $1}')
FILE_SIZE=$(du -h "${OUTPUT_FILE}" | cut -f1)

echo ""
echo "============================================"
echo " 打包完成!"
echo "============================================"
echo " 输出文件: ${OUTPUT_FILE}"
echo " 文件大小: ${FILE_SIZE}"
echo " SHA256:   ${SHA256}"
echo ""
echo " 部署命令:"
echo "   wget https://www.huodouai.com/deploy/universal/${PACK_NAME}.tar.gz"
echo "   tar -xzf ${PACK_NAME}.tar.gz"
echo "   python3 node_register.py"
echo "   python3 deploy_worker.py"
echo ""
