Das Kaeso-Gateway, eine Rust-Binary zwischen Ihren Apps und Ihren Anbietern. Es prüft jeden Schlüssel und jedes Limit, übersetzt jedes Format und protokolliert jede Anfrage.
Schlüssel
Der API-Schlüssel bestimmt das Projekt und das Mitglied oder Dienstkonto, für das er handelt. Schlüssel werden nur als Hashes gespeichert und 30 Sekunden lang aus dem Arbeitsspeicher beantwortet.
- 401Nicht autorisiertDer Schlüssel fehlt, ist unbekannt, deaktiviert, archiviert oder abgelaufen.
- 403VerbotenDer Schlüssel hat nur Plattformzugriff, oder seinem Mitglied fehlt das Recht api.request.
- 429Ratenlimit erreichtVon derselben Adresse kamen zu viele Anfragen mit unbekannten Schlüsseln.
Das Gateway liest den Schlüssel aus x-api-key oder sonst aus Authorization: Bearer:
Was das Gateway mit jeder Anfrage macht.
Schlüssel, die im Gateway bleiben, Zustand in Datenbanken, die Sie bereits betreiben, und ein Dienst, den Sie wie jeden anderen führen.
Schlüssel bleiben im Gateway
Anbieter-Schlüssel erreichen nie Ihre Apps, und jede Aktion in der Konsole wird gegen genau ein Recht geprüft.
Einen Kaeso-Schlüssel, nur als Hash gespeichert, mit Ablaufdatum und Inferenz- oder Plattformzugriff.
Anbieter-Schlüssel, per Envelope-Verschlüsselung mit AES-256-GCM unter einem Hauptschlüsselbund, den Sie verwahren. Den Hauptschlüssel rotieren Sie mit kaeso master-key rewrap.
- Anmeldung
- Passwort mit Authenticator-App und Wiederherstellungscodes, Anmeldelinks und Single Sign‑on über den OIDC-Anbieter jeder Organisation
- Rechte
- Feingranulare Rechte mit eingebauten Rollen und bis zu 50 eigenen Rollen pro Organisation
- Audit-Logs
- Für die Instanz, jede Organisation und jedes Projekt
Zustand in Datenbanken, die Sie kennen
Gateway-Instanzen speichern nichts selbst, also stellen Sie weitere hinter Ihren Load Balancer. Sie teilen sich ein PostgreSQL, ein ClickHouse und ein Valkey.
- PostgreSQL
- Schlüssel, Katalog, Limits, Nutzung und Audit-Logs
- ClickHouse
- Anfrageprotokolle und Nutzungsaggregate
- Valkey
- Raten- und Budgetzähler, gemeinsame Caches
Wie jeden Dienst betreiben
Konfigurieren Sie es mit KAESO_*-Variablen oder einer TOML-Datei, lesen Sie jedes Geheimnis aus einer Datei und überwachen Sie es mit den Werkzeugen, die Sie schon nutzen.
- Metriken
- Prometheus auf Port
9100, den Caddy nicht weiterleitet; halten Sie ihn privat - Zustand
/healthz, solange der Prozess läuft, und/readyzmit dem Zustand von PostgreSQL, Valkey und ClickHouse- Logs
- Strukturiertes JSON, Anfrageprotokolle standardmäßig 90 Tage, Inhalte 30 Tage
- Streams
- Keepalives alle 15 Sekunden; der Aufruf beim Anbieter wird abgebrochen, wenn die App weg ist
Ein Repository, eine Version.
Das Gateway, die Konsole, KPP und Kaeso UI erscheinen gemeinsam, unter der MIT-Lizenz.
- GatewayDie kaeso-Binary: die Model API, die Platform API, Migrationen und Admin-Befehle.ghcr.io/logicplanes/kaeso-gateway
- KonsoleDie Webkonsole, gebaut mit React 19 und ausschließlich Kaeso UI.ghcr.io/logicplanes/kaeso-console
- KPPDas Kaeso Provider Protocol und seine Codecs, auf crates.io.kaeso-kpp, kaeso-codecs
- Kaeso UIDie Komponentenbibliothek, aus der jede Kaeso-Oberfläche und diese Website gebaut sind.@logicplanes/kaeso-ui
Stellen Sie es vor Ihre Apps.
Eine Compose-Datei mit Caddy, dem Gateway, der Konsole, PostgreSQL, ClickHouse und Valkey, auf Ihren eigenen Servern.