Polycrate API 0.11.21
Polycrate API 0.11.21
Release-Datum: 20. Januar 2026
Highlights
- 📊 S3 Bucket Metrics für Ceph: Storage-Anzeige funktioniert jetzt auch für Ceph-Buckets in der Detail-UI
- 🔄 Inkrementelle Timeline: Timeline wird schrittweise aufgebaut für Ceph und junge MinIO-Buckets
- 🔍 ActionRun/Agent Filter Fix: Organization- und Workspace-Filter funktionieren jetzt korrekt
Artefakte
Docker Images
docker pull cargo.ayedo.cloud/library/polycrate-api:0.11.21
Installation & Update
polycrate pull cargo.ayedo.cloud/ayedo/k8s/polycrate-api
polycrate run polycrate-api install
Feature: S3 Bucket Metrics für Ceph-Buckets
Problem
S3 Buckets mit Ceph-Backend (RadosGW) zeigten in der Detail-UI keine Storage-Metriken:
- Listen-Ansicht: Zeigte Storage-Werte korrekt ✅
- Detail-UI: Zeigte "0 B" und "0 Objects" ❌
Ursache
current_usageundcurrent_object_countwurden korrekt befüllt (für Tabelle)metrics_data(JSONField für Detail-UI mit Timeline) blieb leer
Unterschied MinIO vs Ceph:
| Cluster-Typ | Metrics-Quelle | Historie |
|---|---|---|
| MinIO | VictoriaMetrics | ✅ Historische Daten abrufbar |
| Ceph | RadosGW Admin API | ❌ Nur Momentaufnahme |
Lösung: Inkrementelle Timeline
Neue Methode _update_metrics_data_incremental() in S3Bucket:
- Bei jedem Reconcile wird ein Datenpunkt zur Timeline hinzugefügt
- Timeline-Perioden: 1h, 24h, 30d
- Alte Einträge werden automatisch bereinigt
- Statistiken (Current, Average, Max) werden aus Timeline berechnet
Vorteile:
- Ceph-Buckets haben jetzt Storage-Metriken in der Detail-UI
- Junge MinIO-Buckets (ohne VictoriaMetrics-Historie) haben ebenfalls Daten
- source: "incremental" markiert die Datenquelle für UI-Unterscheidung
Fix: ActionRun und Agent Filter
Problem
Die Filter für Organization und Workspace in der ActionRun- und Agent-Tabelle (Table UI v2) funktionierten nicht:
- Dropdown zeigte Optionen korrekt
- Nach Auswahl: Keine Filterung oder unveränderte Ergebnisse
Ursache (zweifach)
- Lokale Filter-Klassen überschrieben Imports: In
views.pywaren lokaleActionRunUIFilterundAgentUIFilterKlassen definiert, die die korrekten Imports ausfilters.pyüberschrieben - Veralteter API-Client: Das OpenAPI-Schema und der generierte JavaScript-Client hatten veraltete Parameter-Namen (
organizationstattorganizations)
Lösung
- Lokale Filter-Klassen in
views.pyentfernt - OpenAPI-Schema und JavaScript API-Client neu generiert:
source ~/.nvm/nvm.sh && nvm use 20 && make api-client-js
Ergebnis: Filter für Organization und Workspace funktionieren jetzt für ActionRuns und Agents.
Migration
Keine Datenbank-Migration erforderlich.
Entwickler-Hinweis
Nach Änderungen an Filter-Klassen muss immer das Schema und der JS-Client neu generiert werden:
source ~/.nvm/nvm.sh && nvm use 20 && make api-client-js