Skip to content

CLI und Skripte

Betreiber erledigen die meisten Aufgaben über die MSSP-UI oder die REST API. Die CLI-Oberfläche ist klein und existiert für Bootstrap, Entwicklungsumgebungen und Offline-Betrieb.

In-Pod-Einstiegspunkte

Diese laufen innerhalb von soctalk-system-api (oder einem einmaligen Job). Sie verwenden die im Pod eingebundenen Postgres-Zugangsdaten und die Chart-Konfiguration — kein externer Zustand.

Bootstrap

In diesem Release gibt es keine separate Bootstrap-CLI — der Init-Befehl des API-Pods des Charts führt den Bootstrap inline aus (Migrationen, Rollen-Passwörter, Organisationszeile, optionaler Admin-Benutzer). Siehe Installation — Migrationen und Bootstrap.

LLM-Smoke-Test

In diesem Release gibt es keine soctalk.llm.smoke_test-CLI. Um zu überprüfen, ob ein konfiguriertes LLM erreichbar ist, siehe LLM-Anbieter — Sanity-Test für den einzeiligen Python-Ausdruck.

soctalk-auth (In-Pod-Helfer)

Der einzige erstklassige CLI-Helfer in diesem Release. Einzelner Unterbefehl: set-password.

bash
kubectl -n soctalk-system exec -it deploy/soctalk-system-api -- \
  soctalk-auth set-password user@example.com

Fordert ein neues Passwort an (oder liest es aus SOCTALK_PASSWORD), sucht den Benutzer, setzt das gehashte Passwort und protokolliert auth.password.reset.admin. Nützlich für erzwungene Zurücksetzungen ohne den Umweg über die API. Die Benutzerzeile muss bereits existieren; soctalk-auth erstellt keine Zeilen.

soctalk (Orchestrator-Einstiegspunkt)

soctalk ist der Orchestrator-Einstiegspunkt — er führt den LangGraph-Supervisor + Worker aus. In V1 bettet der API-Pod den Orchestrator ein (kein separates soctalk-system-orchestrator-Deployment). Wird außerhalb der Entwicklung normalerweise nicht von Hand aufgerufen.

Noch keine universelle soctalk-cli

Der frühere Entwurf dieser Seite listete Mandanten-Verwaltungsbefehle unter einer soctalk-cli-Binärdatei auf, die im aktuellen Release nicht existiert. Mandanten-Aktionen (suspend, resume, decommission, rotate-admin) laufen heute über die REST API. Die CLI-Oberfläche für Mandanten-Operationen ist für ein zukünftiges Release vorgemerkt.

Repo-seitig: justfile-Rezepte

Die justfile im Repo-Root enthält Rezepte, die während Entwicklung und Release verwendet werden:

RezeptWas es tut
just build-apiBaut das API-Container-Image
just build-orchestratorBaut das Orchestrator-Container-Image
just build-frontendBaut das SvelteKit-Frontend-Container-Image
just build-mock-endpointBaut das Mock-Endpoint-Sim-Image
just runFührt den Dev-Stack via docker-compose aus
just push-allPusht alle Images in die konfigurierte Registry
just releaseTaggt + pusht Images + Chart + erstellt ein GitHub Release

Repo-seitig: scripts/

SkriptZweck
scripts/dev-up.shBringt einen Single-Node-k3d-Dev-Cluster mit SocTalk und einem vorbefüllten Mandanten hoch
scripts/local-up.shDasselbe, aber auf dem k3s des Hosts anstelle von k3d
scripts/local-down.shFährt einen local-up.sh-Cluster herunter
scripts/e2e-l1-l2-k3d.shZwei-Cluster-k3d-Setup (MSSP L1 + Mandant L2) für die vollständige e2e-Validierung
scripts/seed-mssp-demo-data.pyBefüllt Postgres mit Fixture-Mandanten (acme-corp, wayne-industries, stark-defense) und spielt Wazuh-Warnungen über den Indexer erneut ein, zur Vorbereitung von Screenshots
scripts/inject_test_data.pyInjiziert spezifische Test-Payloads — nützlich beim Reproduzieren eines vom Kunden gemeldeten Fehlers
scripts/verify-pages-visual.pyPlaywright-Prüfung auf visuelle Regressionen gegen die Dev-SocTalk-UI

Diese erwarten alle, dass sie vom Repo-Root aus ausgeführt werden. Lies den Skript-Header für die genauen Argumente.

Repo-seitig: Packer

Für VM-Image-Builds siehe Downloads → Selbst bauen.

Air-Gapped-Betrieb

Für Installationen ohne Internetzugang reichen die API + soctalk-auth aus, um SocTalk ohne Berührung der UI zu betreiben:

bash
# Bootstrap happens automatically in the API pod's init command — no
# extra step. Just install the chart with install.bootstrapAdmin.* set.

# Or, if those weren't supplied, set the admin password after install:
kubectl -n soctalk-system exec deploy/soctalk-system-api -- \
  soctalk-auth set-password admin@example
# Read the admin credentials.
kubectl -n soctalk-system get secret soctalk-system-bootstrap-admin \
  -o jsonpath='{.data.password}' | base64 -d; echo

# Onboard a tenant via the API.
curl -k -c jar -X POST http://soctalk-system-api:8000/api/auth/login \
  -d '{"email":"admin@example","password":"..."}'
curl -k -b jar -X POST http://soctalk-system-api:8000/api/mssp/tenants/onboard \
  -d '{"slug":"acme","display_name":"Acme","profile":"persistent"}'

Das vorhandene Passwort des Bootstrap-Admins, das der Bootstrap-Job ausgibt, findest du unter Installation → Migrationen und Bootstrap.

Quell-Verweise

KonzeptDatei
Bootstrap (inline)charts/soctalk-system/templates/30-api.yaml (Init-Befehl)
LLM-Anbieter-Factorysrc/soctalk/llm.py
soctalk-auth-Quellesrc/soctalk/core/cli/auth.py
soctalk-Orchestrator-Einstiegsrc/soctalk/main.py
justfilejustfile
scripts/scripts/

Veröffentlicht unter der Apache-2.0-Lizenz.