Zum Inhalt

Polycrate API 0.11.23

Release-Datum: 23. Januar 2026
Typ: Feature Release

Highlights

  • API Key Authentication Fix - User API Keys (Knox-basiert) funktionieren jetzt korrekt
  • API Key Admin UI - User API Keys im Django Admin sichtbar und verwaltbar
  • Contact Role Feld - Neue Rolle für Kontakte (Developer, Admin, Billing, Viewer)
  • CLI Update - Base-Image auf Polycrate CLI 0.29.11 aktualisiert

Artefakte

Docker Images

docker pull cargo.ayedo.cloud/polycrate/polycrate-api:0.11.23

Kubernetes Deployment

polycrate pull cargo.ayedo.cloud/ayedo/k8s/polycrate-api
polycrate run polycrate-api install

Installation & Deployment


Neue Features

API Key Authentication Fix

Problem: User API Keys (Knox-basiert) konnten nicht für API-Zugriff verwendet werden. Die Fehlermeldung war:

{"detail":"Authentication error: Invalid agent token - credential not found"}

Ursache: Die AgentTokenAuthentication Klasse warf eine AuthenticationFailed Exception wenn kein Credential gefunden wurde, anstatt None zurückzugeben. Dies blockierte die nachfolgenden Authenticators (Knox) in der Authentifizierungs-Kette.

Lösung: AgentTokenAuthentication.authenticate() gibt jetzt None zurück wenn der Token kein Agent Token ist, sodass der nächste Authenticator (Knox für User API Keys) den Token verarbeiten kann.

API Key Admin UI

User API Keys (APIKeyMetadata) sind jetzt im Django Admin Interface sichtbar und verwaltbar:

Spalte Beschreibung
Name Benutzerdefinierter Name des API Keys
User E-Mail des Besitzers
Created At Erstellungsdatum
Last Used At Letzte Verwendung
Expires At Ablaufdatum (oder "Never")
Status ✅ Valid / ❌ Expired Badge
Token Prefix Erste 8 Zeichen des Digests zur Identifikation

Sicherheit: - Kein Erstellen im Admin (User erstellen API Keys über die Web-UI) - Kein Bearbeiten (nur Ansicht und Löschen) - Löschen möglich zum Revoken von Keys

Contact Role Feld

Kontakte können jetzt eine Rolle zugewiesen bekommen:

Rolle Beschreibung
Developer Technischer Kontakt
Admin Administrativer Kontakt
Billing Abrechnungskontakt
Viewer Nur-Lese-Zugriff

UI-Integration: - Neue "Role" Spalte in der Contact Table (als Badge) - Rolle im Contact Info Drawer sichtbar - Default-Wert: viewer

CLI Base-Image Update

Das Docker Base-Image wurde auf Polycrate CLI 0.29.11 aktualisiert:

  • Verbessertes TLS Debug Logging
  • Enhanced API Error Handling

Betroffene Dateien

Datei Änderung
src/polycrate_api/authentication.py AgentTokenAuthentication Fix
src/users/admin.py APIKeyMetadataAdmin hinzugefügt
src/contacts/models.py contact_role Feld + Choices
src/contacts/tables.py Role-Spalte + Drawer-Integration
src/contacts/serializers.py contact_role in allen Serializern
src/contacts/views.py V2 Table Column-Definition
src/static/.../managed-object-table.js Badge-Renderer für Role
workspace.poly CLI Version 0.29.11

Migration

Diese Version enthält eine neue Migration für das contact_role Feld:

python manage.py migrate contacts

Die Migration fügt das Feld mit Default-Wert viewer hinzu.


Upgrade

# Via Polycrate Block
polycrate pull cargo.ayedo.cloud/ayedo/k8s/polycrate-api
polycrate run polycrate-api install

# Oder direkt via Docker
docker pull cargo.ayedo.cloud/polycrate/polycrate-api:0.11.23

Ausblick

Die nächste Version wird die Endpoint Assignment Stabilisierung enthalten: - Stability-First Algorithmus statt "Compute Ideal Every Run" - Agent Blacklist für dysfunktionale Agents - Reduzierter Assignment-Churn

Vollständige Spezifikation