HowTo

2026 OpenClaw MeshMac 実践:マルチノード環境変数テンプレとシークレットの環境別注入(dev/staging/prod)再現手順

2026年3月28日 Meshmac 専門チーム 読了目安 8分

OpenClawMeshMacマルチノードで、環境変数テンプレの統一配布dev/staging/prodシークレット隔離を再現する HowTo です。手順はマルチノードデプロイガイドOpenClaw 一覧ブログヘルプと併読ください。

① ベーステンプレと環境オーバーレイ(統一テンプレ配布)

Git にはベース .tploverlay/<env>.env.frag のみ。MESH_ENV は必ず明示します。

配置例

openclaw/
  env/
    openclaw.env.base.tpl
    overlay/dev.env.frag
    overlay/staging.env.frag
    overlay/prod.env.frag

コマンド(リポジトリ初期化の目安)

mkdir -p openclaw/env/overlay
git add openclaw/env && git commit -m "chore(openclaw): base env template + env overlays"

ベース断片(例)

# openclaw.env.base.tpl
MESH_ENV={{MESH_ENV}}
MESH_NODE_ID={{MESH_NODE_ID}}
OPENCLAW_QUEUE_URL={{OPENCLAW_QUEUE_URL}}
TEMPLATE_REVISION={{TEMPLATE_REVISION}}

検証

  • grep -R '{{' openclaw/env --include='*.tpl' --include='*.frag' と必須キー表を突合。
  • 各 frag の MESH_ENV が 1 行のみであること。

② 環境別シークレット束と注入

実値はバックエンドのみ。ノードへはレンダリング済み 1 ファイルを配布し、束はタグで区別します。

レンダリング例(GNU gettext の envsubst 想定)

export MESH_ENV=staging TEMPLATE_REVISION="$(git rev-parse --short HEAD)"
export OPENCLAW_QUEUE_URL="https://queue.staging.example.internal"
envsubst < openclaw/env/openclaw.env.base.tpl > /tmp/openclaw.base.rendered
cat openclaw/env/overlay/staging.env.frag >> /tmp/openclaw.base.rendered
# シークレットは別ファイルから source せず、*_FILE 形式でパスだけ渡す
mv /tmp/openclaw.base.rendered /etc/openclaw/openclaw.env

最小権限スキル固定テンプレ参照。

検証

  • grep -E '^(API_KEY|TOKEN|SECRET)=' /etc/openclaw/openclaw.env || true — 平文が無いこと。
  • shasum -a 256 /etc/openclaw/openclaw.env を記録し、同環境ノードのみ一致。

③ 最小権限マウント

パスに環境名を含め、サービス用グループのみ読取可にします。

sudo install -d -m 0750 -o root -g openclaw /etc/openclaw/secrets.d/staging
sudo install -m 0440 -o root -g openclaw /dev/stdin /etc/openclaw/secrets.d/staging/queue_hmac.key <<'EOF'
(ここにパイプラインが書き込む — 手作業でシェルに貼らない)
EOF

検証

  • ls -le /etc/openclaw/secrets.d/staging
  • sudo -u nobody cat .../queue_hmac.key が失敗すること。

④ ノード差分オーバーレイ

環境マージ$(hostname -s).env.frag 等で上書き。名前はインベントリと一致。

# 例: worker-03 のみスロット上げ
cat "openclaw/env/nodes/$(hostname -s).env.frag" >> /etc/openclaw/openclaw.env

検証

  • 全 worker でキー一覧 grep -E '^[A-Z0-9_]+=' ... | cut -d= -f1 | sort -u を比較。
  • カナリア 1 台で frag 変更し負荷分散とスモーク。

⑤ 変更ロールバックと監査の要点

ロールバックは前 SHA+シークレット束を再配布。監査は実行者・ハッシュ差分をログに残します。

git tag -a openclaw-env-20260328 -m "staging template + secrets bundle v12"
git push origin openclaw-env-20260328
# 失効時: 直前タグをチェックアウトして同パイプラインを再実行
git checkout openclaw-env-20260327

監査ログに載せるフィールド(例)

  • deployment_idactor(人または CI のサービスアカウント)、mesh_envtemplate_revisionsecrets_bundle_version、変更前後の shasum

検証

  • ログで deployment_id が全ノードに付くこと。
  • タグを戻し openclaw config doctor(同等可)までの所要を演習記録。

受入れチェックリスト

  • Git に平文シークレットなし
  • MESH_ENV 常に dev/staging/prod のいずれか
  • secrets.d/<env>/ が 0750/0440
  • ノード frag は小さくレビュー可能
  • Runbook にロールバック手順、四半期演習

キュー同期参照。

マルチノードを安全に揃える

MeshMac で OpenClaw の環境とシークレットを段階的に検証

ノードを増やしてもテンプレと注入を再現可能に。購入・料金はログイン不要ヘルプブログ一覧OpenClaw 記事

環境別注入 最小権限 ロールバック
今すぐレンタル