Konfiguration
Der Agent-Dienst wird ausschließlich über die Umgebung konfiguriert. Für Pflichtwerte gibt es keine eingebauten Voreinstellungen: fehlt einer, bricht der Start ab und nennt die Variable.
Auf dieser Seite
Geprüft wird einmal beim Start, und zwar vollständig. Eine falsch gesetzte Variable soll den Dienst nicht erst Stunden später beim ersten Aufruf umbringen.
Pflichtangaben
| Variable | Bedeutung |
|---|---|
| DATABASE_URL | Verbindung zu PostgreSQL (postgres:// oder postgresql://). |
| KEYCLOAK_URL | Keycloak-Basisadresse ohne abschließenden Schrägstrich – die interne, über die JWKS und Tokentausch laufen. |
| KEYCLOAK_REALM | Name des Realms. |
| AGENT_CLIENT_ID | OIDC-Client-Kennung des Dienstes; zugleich das erwartete Publikum eingehender Token. |
| AGENT_CLIENT_SECRET | Das zugehörige Geheimnis (vertraulicher Client). |
| PLATFORM_ENCRYPTION_KEY | Schlüsselmaterial für den Geheimnis-Speicher, erzeugt von scripts/generate-secrets.sh. |
| PORT | Port, auf dem der HTTP-Server lauscht. |
PLATFORM_ENCRYPTION_KEY nur geplant wechseln
Aus diesem Material wird der Schlüssel für alle gespeicherten Geheimnisse abgeleitet. Nach einem Wechsel sind sie neu zu hinterlegen.
Identität und Adressen
| Variable | Bedeutung |
|---|---|
| KEYCLOAK_ISSUER_URL | Die öffentliche, browserseitige Keycloak-Adresse. Sie bestimmt allein den erwarteten Aussteller im Token. Ungesetzt fällt sie auf KEYCLOAK_URL zurück – richtig für Einzelhost- und Entwicklungsaufbauten, falsch, sobald innen und außen verschiedene Adressen sind. |
| TRINO_URL | Adresse des Trino-Koordinators. Voreingestellt ist die clusterinterne Dienstadresse. |
| MINIO_ENDPOINT, MINIO_REGION | Objektspeicher für Tabellendaten und Audit-Archiv. |
Sicherheit
| Variable | Voreinstellung | Bedeutung |
|---|---|---|
| SOURCE_TLS_MODE | verify | Transportsicherheit zu Quelldatenbanken: verify erzwingt TLS mit Zertifikatsprüfung, require TLS ohne Prüfung, disable gar keins. Je Quelle übersteuerbar. |
| SOURCE_EGRESS_ALLOWLIST | leer | Komma-getrennte Hostmuster oder CIDR. Gesetzt: ausgehende Admin-Aufrufe dürfen nur dorthin. Leer: permissiv – bis auf die immer aktive Sperre für Link-Local- und Cloud-Metadaten-Adressen. Ein fehlerhafter CIDR-Eintrag verhindert den Start. |
| TRINO_ACCESS_RULES_FILE | nicht gesetzt | Pfad, unter den der Agent die erzeugten Zeilen- und Spaltenregeln schreibt – auf ein Volume, das Trino mitliest. Ungesetzt werden Richtlinien gespeichert, aber nicht durchgesetzt. |
Einbettungen
| Variable | Bedeutung |
|---|---|
| EMBEDDING_BASE_URL | OpenAI-kompatible Adresse des Einbettungsanbieters. Ab Werk das lokale Modell. |
| EMBEDDING_MODEL | Modellname, ab Werk nomic-embed-text. |
| EMBEDDING_API_KEY | Nur nötig, wenn der Anbieter einen verlangt – das lokale Modell nicht. |
| EMBEDDING_DIMENSIONS | Dimension der Vektorspalte. Muss zur Migration passen; eine Änderung bedeutet, den Index neu aufzubauen. |
Audit-Archivierung
| Variable | Bedeutung |
|---|---|
| AUDIT_BUCKET | Bucket für die archivierte Hash-Kette, unter Object Lock. |
| AUDIT_BATCH_SIZE, AUDIT_FLUSH_INTERVAL_MS | Wie groß ein Paket wird und wie lange spätestens gewartet wird. |
| AUDIT_RETENTION_DAYS | Aufbewahrungsdauer im Archiv. |
| AUDIT_S3_DISABLED | Schaltet die Archivierung ab. Für Tests – nicht für den Betrieb. |
Weitere Schalter
| Variable | Bedeutung |
|---|---|
| KEYCLOAK_ADMIN_USER, KEYCLOAK_ADMIN_PASSWORD | Nur zusammen wirksam. Fehlen sie, wird die Nutzer- und Rollenverwaltung nicht registriert – die Funktion ist dann schlicht nicht vorhanden. |
| CRAWL_ROOTS | Die Verzeichnisse, die der Datei-Crawler überhaupt anfassen darf. |
| MODEL_ANTHROPIC, MODEL_OPENAI, MODEL_OPENAI_COMPATIBLE, MODEL_CLAUDE_SUBSCRIPTION | Voreingestellte Modellkennungen je Anbieter, je Installation übersteuerbar. |
| CLAUDE_OAUTH_CLIENT_ID | Öffentliche Client-Kennung für die Anmeldung mit dem eigenen Claude-Konto. |
| K8S_API_URL, K8S_API_TOKEN, K8S_NAMESPACE | Nur für Zugriff auf die Kubernetes-API von außerhalb des Clusters. Im Cluster liefert das eingehängte ServiceAccount alles Nötige. |
Geheimnisse werden erzeugt
up.sh und bootstrap.sh legen beim ersten Lauf eine .env mit zufälligen Werten an. Die Datei bleibt außerhalb der Versionsverwaltung.
Stand: Diese Seite beschreibt lavalake 0.16.0. Produkt und Dokumentation liegen in getrennten Repositories – im Zweifel gilt, was die Konsole zeigt.
Etwas fehlt?
Wenn diese Seiten Ihre Frage nicht beantworten, zeigen wir die Plattform in einer halben Stunde an Ihrem Fall.
Demo vereinbaren