openclaw onboard, die Gateway-Konfiguration und openclaw doctor die Baseline ab; doctor fasst Health-, Berechtigungs- und Migrationshinweise zusammen, die Sie vor Webhook-Last verstehen sollten.
Vertiefung: Gateway-Härtung, Harbor-Webhook, Helm-OCI-Matrix.
- SLA: Schnell 202, schwere Schritte async — sonst noisy Retries.
- Secrets: Bearer/HMAC vor
JSON.parse;Authorizationam Proxy nicht verlieren. - Always-on: Remote-Mac +
launchdschlägt ein Notebook bei TLS und Logs.
Entscheidungsmatrix: GitOps-Signal, Argo-Quelle, Mac-Muster
Die Tabellen ordnen Benachrichtigungsarten der minimalen Verarbeitung auf dem Mac zu und fixieren messbare Health-Parameter für SRE-Playbooks. Preflight ergänzt operationState, ersetzt aber keinen Reconciler und kein Policy-Enforcement im Cluster.
| Signal | Argo-CD-Quelle | Minimal-Muster auf dem Mac |
|---|---|---|
| Sync fehlgeschlagen | on-sync-failed, application.status.operationState |
Webhook JSON parsen, Application per REST laden, message + Revision extrahieren |
| Health degraded | on-health-degraded, Diff desired vs. live |
Optional zweiter API-Call für kompakte resources-Auszüge; Payload begrenzen |
| Preflight-Gate | Gleiche Git-Revision wie Argo | kustomize build / helm template, kubeconform, optional crane manifest |
| Kontrollgröße | Empfohlener Ankerwert | Begründung (Kurz) |
|---|---|---|
Gateway-Health-Intervall (launchd) |
15 s | Genug Auflösung für TLS-Rotationen ohne Alarmflut |
Einzelner Health-curl |
3 s Timeout | Schnelles Fail bei blockiertem Listener |
| Unhealthy-Schwelle | 3 aufeinanderfolgende Fehlversuche | Filtert kurze Netz-Hiccups |
Argo-REST-curl |
20–45 s je nach App-Größe | Getrennt von der Webhook-Antwortzeit budgetieren |
Voraussetzungen: Node, Token und Ausgang
Node 22 LTS, openclaw onboard, optional --install-daemon laut docs.openclaw.ai. openclaw doctor vor Last abarbeiten — Warnungen sind Release-Risiken.
openclaw gateway status (falls vorhanden) und ~/.openclaw/openclaw.json für Port/Bind; Health-curl aus demselben Account wie launchd, bevor TLS nach außen geht.
ARGOCD_SERVER = UI-Host, ARGOCD_TOKEN read-only, Datei 600. HTTPS-Egress zu Argo, Registries, Summary; HTTPS_PROXY konsistent setzen. Testen Sie argocd app get oder curl gegen /api/v1/applications mit demselben Token, bevor Sie Notifications aktivieren.
node -v openclaw onboard openclaw doctor openclaw gateway status 2>/dev/null || true test -f "$HOME/.openclaw/openclaw.json" && head -n 40 "$HOME/.openclaw/openclaw.json"
Webhook- und Gateway-Schrittliste
TLS (Caddy/nginx) → 127.0.0.1, Roh-Body + Authorization für Bearer/HMAC vor JSON.parse. mTLS am Edge ersetzt kein Argo-Ingest-Secret.
service.webhook mit zufälligem HTTPS-Pfad für on-sync-failed / on-health-degraded.{{.app.metadata.name}}, operationState.message, sync.revision) auf Ihr JSON-Schema.GET /api/v1/applications/{name} mit dem Read-Token auf und erfassen Sie operationState plus Revision.phase, revision, preflightExit, Kurzauszug) und POSTen Sie an das Ziel.curl --data-binary @notify.json -H "Authorization: Bearer $INGEST_SECRET" "$WEBHOOK_URL" vom internen Jump-Host.curl -fsS --max-time 25 \
-H "Authorization: Bearer ${ARGOCD_TOKEN}" \
"${ARGOCD_SERVER}/api/v1/applications/${APP_NAME}" \
| jq '{sync:.status.sync.status,health:.status.health.status,phase:.status.operationState.phase,msg:.status.operationState.message}'
Preflight-Skripte und Health-Probe-Parameter
Clone der Argo-Revision in mktemp; kustomize build/helm template → kubeconform, optional crane manifest. GIT_TERMINAL_PROMPT=0, Workdir danach löschen.
GitOps: Preflight grün bei OutOfSync deutet auf Live-Abweichung oder Overrides; Preflight rot liefert reproduzierbare Exit-Codes für das Ticket und entlastet die Argo-UI.
Zitierfähige Standardwerte (an SLO anpassen):
- Gateway-Probe: alle 15 s, Timeout 3 s, drei Fehlversuche ⇒ unhealthy.
- Summary-POST:
curl --max-time 25mit Pausen 2 / 4 / 8 s. - Idempotenz: Schlüssel aus App-Name, Revision und Benachrichtigungs-UID.
OC_PORT=$(jq -r '.gateway.port // 18789' "$HOME/.openclaw/openclaw.json" 2>/dev/null || echo 18789)
curl -fsS --max-time 3 "http://127.0.0.1:${OC_PORT}/health" || exit 1
read -r -d '' SUMMARY <<'JSON'
{"schema":"macpull.argocd.sync.v1","app":"payments","revision":"abc123","phase":"Failed","preflightExit":0,"excerpt":"gekürzte Operator-Meldung …"}
JSON
for s in 2 4 8; do
curl -fsS --max-time 25 -H "Content-Type: application/json" \
--data-binary "$SUMMARY" "$OBSERVABILITY_URL" && break
sleep "$s"
done
FAQ: Authentifizierung, Timeouts, Retries
Token erneuern, Authorization am Proxy, Ingest-Secret zeitkonstant, Base64 ohne Zeilenumbruch.
ARGOCD_SERVER wie UI; grpc-web wie CLI; Proxy und HTTPS_PROXY prüfen. Erhöhen Sie curl --max-time nur für API-Fetches; die Webhook-Antwort bleibt bewusst kurz, damit Argo keinen Backlog aufbaut.
Max. 3×, Stop bei 409, correlationId im JSON.
Fazit. Node 22+, sauberes doctor/gateway status, TLS→Loopback, read-only Argo-Token, Wegwerf-Preflight, Summary-Retries 2/4/8 s. Remote-Mac senkt MTTR.
Kapazität mieten: Preise, Kaufen, Hilfe, Technik-Blog — ohne Pflichtlogin.
MacPull stellt Apple-Silicon-Mac-Mini-Knoten bereit, damit OpenClaw-Gateways, TLS-Ingress und GitOps-Preflight dauerhaft neben Ihren Argo-CD-Webhooks laufen können.
Remote-Mac für OpenClaw + Argo-CD-Webhooks
Dedizierte Apple-Silicon-Knoten, stabiler TLS-Eingang und Platz für launchd-Healthchecks neben Preflight-Skripten. Einstieg über Startseite, Kaufen, Hilfe oder Blog — ohne Anmeldung.