Polycrate API 0.11.23
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
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