Initial native bootstrap release
This commit is contained in:
60
README.md
Normal file
60
README.md
Normal file
@@ -0,0 +1,60 @@
|
||||
# 原生 Shell 安装入口
|
||||
|
||||
这里直接维护 Bash 源码,由 Gitea 保存版本,Caddy 提供 HTTPS 下载。无需 Python 安装载荷。
|
||||
当前已完成本地实现,尚未在真实 Debian 主机和实际 Caddy 域名验收。
|
||||
|
||||
## Debian 13 接入 Komodo
|
||||
|
||||
以下命令以 root 执行。如果系统尚未安装 curl,或缺少 HTTPS 根证书,先安装下载所需的基础工具:
|
||||
|
||||
```bash
|
||||
apt update && apt install -y curl ca-certificates
|
||||
```
|
||||
|
||||
以下为域名占位示例;正式域名在控制机部署后替换:
|
||||
|
||||
```bash
|
||||
curl -fsSL 'https://scripts.example.com/releases/<40位小写Git提交>/install.sh' | bash -s -- \
|
||||
--name prod-app-web-01 \
|
||||
--core-url wss://komodo.example.com \
|
||||
--core-public-key 'MCowBQYDK2VuAyEA<43个Base64字符>=' \
|
||||
--assets-url 'https://scripts.example.com/releases/<40位小写Git提交>'
|
||||
```
|
||||
|
||||
支持原生 systemd Debian 13 x86_64、Periphery/Core 2.3.4。Periphery 固定版本和 SHA-256;二进制只从 --assets-url 指定的 Caddy 下载,没有上游下载回退。
|
||||
`--core-public-key` 是单行 X25519 SPKI 公钥的 Base64(固定前缀 `MCowBQYDK2VuAyEA`,结尾一个 `=`),不是 PEM,也不能带空格或换行。`--assets-url` 必须是 HTTPS `/releases/` 加 40 位小写提交;稳定入口不能直接作为安装资源基址。
|
||||
脚本通过 apt 补齐 curl、jq、git、CA,配置 systemd,复用或生成节点身份,输出公开回执。
|
||||
--check 做本地输入/身份检查,使用临时文件但不安装软件或修改主机配置;它不证明网络或 Core 状态。
|
||||
回执在 /var/lib/platform-bootstrap/receipt.json,明确标记 Core 注册未验证、主机初始化未开始。
|
||||
Docker、Headscale、公钥注入和安全配置后续由 Komodo 任务处理。没有 Core API 凭据下发。
|
||||
已有身份、配置或二进制不符时停止,不自动替换身份。源文件可直接 bash install.sh --help。
|
||||
|
||||
## 独立手工升级
|
||||
|
||||
```bash
|
||||
curl -fsSL https://scripts.example.com/upgrade-debian12-13.sh | bash -s -- --check
|
||||
curl -fsSL https://scripts.example.com/upgrade-debian12-13.sh | bash -s -- --upgrade
|
||||
# 人工重启并重新登录后,继续原任务或验收:
|
||||
bash upgrade-debian12-13.sh --resume
|
||||
bash upgrade-debian12-13.sh --verify
|
||||
```
|
||||
|
||||
resume/verify 可使用同一固定版本 URL 再次下载执行,或保存该版本的文件后执行。
|
||||
升级使用真实终端 /dev/tty,APT 配置冲突由人判断,不自动重启、不自动 autoremove。
|
||||
仅接受显式官方 Debian 源的受支持格式;第三方源、混合版本、复杂 Deb822 需先人工处理。
|
||||
检查 APT、磁盘、UEFI 挂载;实际引导布局、救援入口和应用备份由操作者在升级前确认。
|
||||
状态与系统归档在 /var/lib/platform-debian-upgrade;归档不替代异机或应用一致性备份。
|
||||
|
||||
## 发布
|
||||
|
||||
Caddy 同时提供 /install.sh 稳定入口与 /releases/<40位小写Git提交>/install.sh 固定版本入口;生产接入命令固定使用后者。
|
||||
发布脚本只提取 `install.sh`、`upgrade-debian12-13.sh`、`host-init.sh`、`tailscale.sh`、README、artifacts.lock 及清单列出的 vendor 文件,生成 VERSION、SHA256SUMS;不暴露 .git 或工作区其他文件。
|
||||
源代码与修复就在此仓库维护,无生成器、内嵌 Python 或第二份安装源码。
|
||||
|
||||
## 固定资源
|
||||
|
||||
`artifacts.lock` 是数据清单,每行三个制表符分隔字段:SHA-256、仓库内路径、准备时使用的上游 HTTPS URL。文件实际保存在 `vendor/<组件>/<版本>/<文件>`,与清单一同提交到 Gitea。目标机不读取上游 URL。
|
||||
|
||||
当前包含 `vendor/komodo/2.3.4/periphery-x86_64`,不是空目录或下载占位符。控制端使用 platform 的 `control/vendor.sh --source <本仓库目录>` 准备资源,再用 `--check` 做完全离线校验。已有正确文件直接复用;摘要不符时停止,不静默覆盖。
|
||||
|
||||
新增版本时增加新路径和已核实摘要,准备二进制,同步修改 install.sh 的固定版本/摘要,检查后提交发布。不得改写已发布版本文件;固定提交及其 Caddy release 用于同版本回退。版本维护单独执行。
|
||||
Reference in New Issue
Block a user