HowTo · 多節點編排

2026 OpenClaw MeshMac 實戰:多節點環境變數模板與密鑰分環境注入的可複現步驟(dev/staging/prod)

2026.03.28 Meshmac 專家 約 8~9 分鐘閱讀

OpenClawMeshMac 多節點上若 環境變數密鑰隔離 鬆散,易錯環境連線。本文給單一模板分發、三環境覆寫、最小掛載、節點補丁、遮罩驗證與回滾稽核清單。詳見多節點部署指南OpenClaw 索引部落格列表幫助中心

痛點拆解

  1. 隱性匯出:以互動式 export 改環境卻未進版控,下一台 MeshMac 即漂移。
  2. 環境串味:誤複製標籤錯誤的 .env,導致測試網址進入正式流量面。
  3. 稽核斷點:日誌缺 template_revisiondeployment_id,事故時無法證明單節點設定版本。

延伸:密鑰最小權限技能鎖與模板

環境矩陣:dev/staging/prod

環境即策略邊界。下表對照 密鑰隔離 與變更節奏(💻 建議節點規模)。

維度 Development Staging Production
密鑰根路徑 /etc/openclaw/secrets.d/dev .../staging(獨立租戶) .../prod(獨立 KMS/金鑰版本)
權杖範圍 沙箱讀寫可較寬 與正式對齊但資料隔離 能唯讀則勿給寫入(登錄檔/成品庫)
變更節奏 功能分支可浮動 標籤候選版 不可變標籤+簽章清單
爆炸半徑 💻 單機或單台實驗節點 部分工作者子網 灰度通過後整網格

步驟一|版控目錄與模板修訂(統一分發)

模板入 Git;密鑰不入庫。基底加三 overlay,短 SHA 寫 TEMPLATE_REVISION 供啟動列印。

openclaw-config/templates/
  openclaw.env.base.tpl
  overlay.dev.env
  overlay.staging.env
  overlay.prod.env
nodes/
  worker-01.patch.env

可執行指令(維運筆電或 CI):

cd openclaw-config
git rev-parse --short HEAD > templates/.template_revision

驗證:test -s templates/.template_revision 應為真。

步驟二|依 MESH_ENV 渲染(分環境注入準備)

匯出 MESH_ENV,勿只靠主機名。佔位符僅指密鑰檔路徑。切換時參任務佇列同步

export MESH_ENV=staging
export TEMPLATE_REVISION="$(cat templates/.template_revision)"
cat templates/openclaw.env.base.tpl \
  templates/overlay.${MESH_ENV}.env \
  | envsubst > /tmp/openclaw.${MESH_ENV}.env

驗證:grep -E '^(MESH_ENV|TEMPLATE_REVISION)=' /tmp/openclaw.${MESH_ENV}.env

步驟三|最小權限密鑰掛載

每環境獨立目錄落實 密鑰隔離:目錄 0750、檔 0440、群組 openclaw;閘道與工作者分檔。

sudo install -d -o root -g openclaw -m 0750 \
  /etc/openclaw/secrets.d/staging
sudo install -m 0440 -g openclaw ./staging_api_token \
  /etc/openclaw/secrets.d/staging/api_token

驗證:守護帳號可讀、一般用戶拒絕(同上 test -r)。

步驟四|節點差異覆寫(最後套用)

環境層合併後再附盤點補丁,只放佇列、旗標、區域端點等非密鑰差異。

NODE_ID="$(scutil --get ComputerName | tr ' ' '-')"
test -f "templates/nodes/${NODE_ID}.patch.env" && \
  cat "templates/nodes/${NODE_ID}.patch.env" >> /tmp/openclaw.${MESH_ENV}.env

驗證:同角色兩節點 diff 僅預期鍵;NODE_ID 對資產表。協作見多節點協作

步驟五|驗證(不洩漏值)

重啟前比對鍵名金樣並脫敏;以守護使用者跑診斷(指令依團隊版次替換)。

awk -F= '/^[A-Z0-9_]+=/ {print $1"=<redacted>"}' \
  /tmp/openclaw.${MESH_ENV}.env | sort | diff -u golden-keys.txt -
sudo -u openclaw openclaw doctor --config /tmp/openclaw.${MESH_ENV}.env || true

驗證:diff 無意外鍵;缺鍵時診斷須失敗封閉。

變更回滾與稽核要點(HowTo 清單)

回滾:留存舊模板 SHA 與 SECRET_BUNDLE_VERSION;還原=重部署舊版,禁線上手改。

git checkout <known_good_sha> -- templates/
./scripts/render-all.sh staging
sudo launchctl kickstart -k system/org.openclaw.worker

稽核清單(逐項勾選):

  • ☐ 每次發布日誌含 deployment_id、Git SHA、操作者身分。
  • ☐ 密鑰檔拷貝時記錄校驗和;輪換時遞增 SECRET_BUNDLE_VERSION
  • ☐ 季度演練還原上一版模板與密鑰套組並計時。
  • ☐ 正式密鑰緊急存取須工單號並留存 sudo/MDM 紀錄。

可引用守門值

  • 密鑰根目錄權限建議 0750、密鑰檔 0440
  • 單一節點補丁檔內獨立鍵建議不超過 十二 個,逾量應拆分角色。
  • 模板變更灰度建議先 台工作者加 台閘道,再擴至全 多節點 網格。
把模板與密鑰管線放到專屬 Mac 節點

租用 MeshMac,落地多節點 OpenClaw

環境變數模板與密鑰隔離流程跑在遠端 Mac;免登入購買頁幫助中心部落格OpenClaw首頁

分環境模板 密鑰最小權限 免登入幫助
查看方案