Zum Inhalt springen

Konfiguration

Edge Connector Configuration

Der Edge Connector wird über eine Kombination aus einer config.json-Datei und Umgebungsvariablen konfiguriert. Umgebungsvariablen haben immer Vorrang vor Werten in der Config-Datei, die wiederum Vorrang vor eingebauten Standardwerten haben. Diese Seite behandelt alle Konfigurationsoptionen, Dateiformate und die Prioritätsregeln.

Wenn der Edge Connector einen Konfigurationswert auflöst, prüft er die folgenden Quellen in dieser Reihenfolge (höchste Priorität zuerst):

  1. Umgebungsvariablen — überschreiben immer alles andere.

  2. config.json-Datei — Werte aus der Konfigurationsdatei im Arbeitsverzeichnis.

  3. Eingebaute Standardwerte — fest hinterlegte Fallback-Werte, die verwendet werden, wenn keine andere Quelle einen Wert liefert.

Die folgenden Umgebungsvariablen steuern das Verhalten des Edge Connectors. Alle sind optional; der Edge Connector funktioniert mit Standardwerten für die lokale Entwicklung.

VariableStandardBeschreibung
TOOL_RPC_URLws://localhost:3001WebSocket-URL für den nara Platform Server. Das ist der primäre Verbindungsendpunkt für den gesamten Tool-Ausführungsverkehr. Verwende wss:// für Produktion.
PLATFORM_API_URLhttp://localhost:3000Basis-URL für die nara Platform API. Wird für Bundle-Verwaltung, Authentifizierungs-Endpunkte und Cloud-Connector-Operationen verwendet.
NEXT_PUBLIC_TOOL_RPC_URLAlternative zu TOOL_RPC_URL. Wenn TOOL_RPC_URL nicht gesetzt ist, wird dieser Wert verwendet. Nützlich beim Teilen von Umgebungsdateien mit der Webapp.
NEXT_PUBLIC_PLATFORM_API_URLAlternative zu PLATFORM_API_URL. Gleiches Prioritätsverhalten.
VariableStandardBeschreibung
AUTH_TOKEN_PATH./auth-token.jsonPfad zur Datei, in der der Authentifizierungs-JWT-Token gespeichert wird. Kann absolut oder relativ zum Installationsverzeichnis sein.
DEPLOYMENT_IDDeployment-Identifier für Cloud-/Server-Modus. Wenn sowohl DEPLOYMENT_ID als auch DEPLOYMENT_SECRET gesetzt sind, nutzt der Connector Deployment-Anmeldedaten statt JWT-Token-Authentifizierung.
DEPLOYMENT_SECRETDeployment-Secret für Cloud-/Server-Modus. Muss zusammen mit DEPLOYMENT_ID gesetzt werden.
DEPLOYMENT_CREDENTIALS_PATHPfad zu einer Datei mit Deployment-Anmeldedaten als Alternative zum einzelnen Setzen von DEPLOYMENT_ID und DEPLOYMENT_SECRET.
VariableStandardBeschreibung
CUSTOM_IMPLEMENTATIONS_PATH./custom-implementations/index.jsPfad zum Einstiegspunkt deiner eigenen Tool-Implementierungen. Die Runtime lädt Implementierungen beim Start von diesem Pfad.
NARA_INSTALL_DIRECTORYAktuelles ArbeitsverzeichnisRoot-Installationsverzeichnis. Wird zur Auflösung relativer Pfade (Token-Datei, Lock-Datei, Shutdown-Datei) und als Basis für den Prozess-Lock verwendet.
VariableStandardBeschreibung
HEALTH_PORT8080Port für den HTTP Health-Check-Server. Stellt die Endpunkte /livez, /healthz und /statusz bereit.
EC_TEST_RUNAuf 1 setzen, um den Testmodus zu aktivieren. Deaktiviert State-Persistenz, Autostart und das System Tray. Wird von edge-connector run für lokales Testen verwendet.
EC_DISABLE_STATEAuf 1 setzen, um State-Persistenz zu deaktivieren. Die Runtime speichert und stellt ihren Laufzustand nicht wieder her. Im Testmodus automatisch aktiviert.
EC_DISABLE_AUTOSTARTAuf 1 setzen, um den automatischen Start beim Systemstart zu deaktivieren. Im Testmodus automatisch aktiviert.
EC_DISABLE_TRAYAuf 1 setzen, um das System-Tray-Icon zu deaktivieren. Im Testmodus automatisch aktiviert.
EC_CONNECTOR_TYPEEDGEConnector-Typ-Identifier.
INSTANCE_TYPEAuf E2E setzen, um E2E-Test-Tools neben regulären Tools zu registrieren. Wird in End-to-End-Testumgebungen verwendet.

Die config.json-Datei liegt im Arbeitsverzeichnis des Edge Connectors. Wenn sie nicht existiert, kopiert die Runtime eine Standardkonfiguration aus dem Installationspaket.

Vollständiges Schema:

{
"toolRpcUrl": "ws://localhost:3001",
"authTokenPath": "./auth-token.json",
"customImplementationsPath": "./custom-implementations/index.js",
"connectorType": "EDGE",
"platformApiUrl": "http://localhost:3000",
"deploymentId": null,
"currentBundleId": null
}

Feld-Referenz:

FeldTypErforderlichBeschreibung
toolRpcUrlstringJaWebSocket-URL für den nara Platform Server
authTokenPathstringJaPfad zur Authentifizierungs-Token-Datei (absolut oder relativ zum Installationsverzeichnis)
customImplementationsPathstringJaPfad zum Einstiegspunkt der eigenen Implementierungen
connectorType"EDGE"JaConnector-Typ
platformApiUrlstringNeinBasis-URL für die nara Platform API
deploymentIdstringNeinDeployment-ID (gesetzt, wenn einem Deployment zugewiesen)
currentBundleIdstringNeinAktuell getrackte Bundle-ID (wird automatisch durch bundle checkout und upload gesetzt)

Der Authentifizierungs-Token wird als JSON-Datei gespeichert. Diese Datei wird automatisch von edge-connector auth erstellt und von der Runtime verwaltet.

{
"token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
"savedAt": "2025-01-15T10:30:00.000Z"
}
FeldTypBeschreibung
tokenstringDer JWT-Authentifizierungs-Token
savedAtstringISO-8601-Zeitstempel, wann der Token gespeichert wurde

Die Datei wird mit restriktiven Berechtigungen (0600) erstellt, um den Token vor unbefugtem Zugriff zu schützen.

Für Server-/Cloud-Deployments können Anmeldedaten in einer Datei statt in Umgebungsvariablen gespeichert werden:

{
"deploymentId": "dep_abc123xyz",
"deploymentSecret": "sec_9f8e7d6c5b4a..."
}

Setze die Umgebungsvariable DEPLOYMENT_CREDENTIALS_PATH auf den Pfad zu dieser Datei. Die Runtime liest die Datei beim Start und nutzt die Anmeldedaten für die WebSocket-Authentifizierung.

Die Platform-API-URL bestimmt, wohin der Edge Connector API-Anfragen für Authentifizierung, Bundle-Verwaltung und Cloud-Operationen sendet. Die URL wird in dieser Reihenfolge aufgelöst:

  1. Umgebungsvariable PLATFORM_API_URL

  2. Umgebungsvariable NEXT_PUBLIC_PLATFORM_API_URL

  3. Feld platformApiUrl in config.json

  4. Standard: http://localhost:3000

Für Produktions-Deployments sollte dies auf deine nara-Instanz-URL gesetzt werden (z.B. https://app.nara.de).

{
"toolRpcUrl": "ws://localhost:3001",
"authTokenPath": "./auth-token.json",
"customImplementationsPath": "./custom-implementations/index.js",
"connectorType": "EDGE",
"platformApiUrl": "http://localhost:3000"
}