KI / Automatisierung 15. April 2026

2026-04-15 OpenClaw Umgebungsvariablen & Geheimnisse auf headless gemietetem Cloud-Mac (launchd)

MacXCode Engineering-Team 15. April 2026 ~14 Min.

Das OpenClaw-Gateway liest Schichten: Prozessumgebung, Projekt-.env, ~/.openclaw/.env, JSON unter ~/.openclaw/openclaw.json. Teams, die nur interaktive Shells testeten, unterschätzen die Reihenfolge. Auf gemietetem Apple Silicon, erreichbar nur per SSH, fehlen Variablen als kryptische LLM-Auth-Fehler, nicht als TUI. Dieses Playbook vom 2026-04-15 zeigt reale Reihenfolge, launchd-Lücken, eine Speichermatrix, sechs Rotations-Schritte und verlinkt Health Probes, nginx-Ingress und strukturiertes Logging, damit Gateways in HK/JP/KR/SG/US reproduzierbar bleiben.

launchctl injiziert Variablen oft bevor der CLI lokale Dateien parst; doppelte Schlüssel erzeugen „tmux ja, reboot nein“. Bündeln Sie Geheimnisse an einem auditierbaren Ort, nutzen Sie ${VAR} in JSON, und loggen Sie die effektive Env-Größe (< 32 KB typisch), um versehentliche printenv-Importe in CI zu erkennen.

Wie OpenClaw die Umgebung auflöst (2026-Modell)

Als LaunchAgent startet der Baum bei launchd. Nur in .zprofile gesetzte Variablen erscheinen nicht ohne kontrollierten Shell-Import. Nicht-sensitive Schalter dürfen ins plist, langlebige Token nicht in geteilte, breit lesbare plists. Ein Wrapper, der kurzlebige Werte aus dem Schlüsselbund exportiert, ist sicherer.

Terminal-echo beweist nicht Sichtbarkeit für das Gateway. Mandantenfähige Hosts setzen Proxy/CA-Baseline-Variablen; OpenClaw-.env gewinnt nicht automatisch. Maskierte Key-Listen im CI-Wrapper plus Diff-Audit nach plist-Änderungen reduzieren Übergabefehler. Ein einseitiges „Region ↔ Credential“-Sheet hilft zusätzlich.

Zahlen: Shell-Import-Timeouts oft ~15000 ms; auch Cold-Starts < 800 ms sollten die Env-Größe loggen.

Lücken auf headless-Miet-Macs

  • Kein Loginfenster.zprofile allein speist LaunchAgents nicht.
  • GUI vs. SSH UIDopenclaw gateway unter falschem Benutzer → leere Konfiguration.
  • Geheimnis-Sprawl.env nach /tmp kopieren erzeugt world-readable Dateien; chmod 600 und löschen.
  • Multi-Region-Drift — US-Ost-Schlüssel auf JP-Gateway kann Residency brechen.

Speichermatrix (ein Primär)

Mechanismus Stärke Risiko
~/.openclaw/.env (0600) Schnelle Iteration, einfache Backups Sichtbar für root und Full-Disk-Images
launchd EnvironmentVariables Explizit für Daemons, rebootfest Plist in ~/Library/LaunchAgents nicht world-writable
Schlüsselbund + Wrapper Beste Audit-Story Headless-Unlock-Zeitfenster knifflig

launchd-Muster für gemietete Builder

Plist-UID = SSH-CI-Benutzer. Geheimnisse indirekt via Schlüsselbund oder OPENCLAW_STATE_DIR=/Volumes/secure/openclaw-$REGION, damit Tokens nicht mit Xcode-Caches im Home kollidieren. VNC nur für Policy-Break-Glass; Standard bleibt SSH + openclaw doctor-Logs.

#!/bin/bash set -euo pipefail export OPENCLAW_STATE_DIR="/Volumes/secure/openclaw-sg" exec /usr/local/bin/openclaw gateway run

Sechsstufige Rotation ohne Webhook-Drop

  1. Ingress einfrieren — nginx externe Webhooks ≤ 90 s (Reverse-Proxy-Artikel).
  2. Neuer Schlüssel — Konsole zuerst, Alt 15 Min parallel gültig.
  3. Atomarer Swap.env.new, fsync, mv, chmod 600.
  4. launchctl kickstart -k gui/$UID/pcx.openclaw.gateway — syslog exit 0.
  5. Prüfenopenclaw doctor + synthetisch 127.0.0.1:18789 (Probes).
  6. nginx wieder an200 innerhalb 120 s; Rollback wenn Fehlerquote > 5 %.
Niemals .env in App-Repos committen — auch private werden oft gespiegelt.

Multi-Tenant-Macs: OPENCLAW_STATE_DIR-Grenzen

Zwei Squads auf einem Mac mini M4: trennen Sie /Volumes/secure/openclaw-teamA und ...-teamB, nutzen Sie getrennte launchd-Labels und Unix-Gruppen für ACLs. Regionscode im Pfad verhindert grenzüberschreitende Inferenz-Fehlrouten. Wenn nächtliche Xcode-Archive laufen, halten Sie Zustandsverzeichnisse außerhalb von CI-Cleanup-Pfaden und schließen Sie /Volumes/secure vom Janitor aus.

FAQ: OpenClaw-Geheimnisse auf Cloud-Macs

Frage Antwort Link
Shell-Env-Import in Produktion? Deaktivieren, wenn hunderte irrelevante Variablen gezogen werden; plist explizit. Hilfe
Wer hat den Schlüssel geändert? Plist-Checksums in git, syslog in SIEM. Logging
Gleiche .env über Regionen? Technisch ja, betrieblich nein — segmentieren. Preise

Brücke zu Observability & Kapazität

Geheimnisse sind nur halb die Geschichte. Nach stabilen Umgebungen: Probes und Logs verdrahten. Lesen Sie Health Probes erneut, skalieren Sie über Preise, wenn die Warteschlange > 40 Nachrichten länger als 10 Minuten bleibt. Der Blog-Index führt weiter.

Fazit: Behandeln Sie OpenClaw-Umgebung wie produktive Kubernetes-Secrets — explizit, least privilege, geübte Rotation — dann verhalten sich Apple Silicon-Gateways in Tokio und Virginia gleich.

OpenClaw auf dedizierten M4-Gateways ausrollen

SSH-first · HK · JP · KR · SG · US