Zum Inhalt

Polycrate API 0.11.10

Release-Datum: 15. Januar 2026
Typ: Bugfix & Performance Release

Highlights

Dieses Release behebt mehrere UI-Bugs und Performance-Probleme im Endpoint Monitoring System, insbesondere im Agent Detail UI und der Endpoint Monitoring Dashboard.

  • 🚀 Agent Detail Lazy Loading - Monitored Endpoints Table mit Pagination
  • 🔧 Agent Capacity Logic Fix - max_endpoints nutzt jetzt SystemConfig
  • VictoriaMetrics Query Optimierung - Step von 30s auf 60s korrigiert
  • 🧹 Agent Info Box Cleanup - Redundante und fehlerhafte Felder entfernt
  • 🔄 Ingress Discovery deaktiviert - Operator ist Single Source of Truth

Artefakte

Docker Images

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

Installation & Update

# Block-Konfiguration aktualisieren
polycrate run polycrate-api install

Installationsanleitung


Bugfixes

Agent Detail Lazy Loading für Monitored Endpoints

Problem: Die "Monitored Endpoints" Tabelle im Agent Detail UI lädt synchron beim Pageload. Bei Agents mit 800+ zugewiesenen Endpoints dauert das Laden der Seite zu lange.

Lösung:

  • Neuer API-Endpoint für Endpoint Assignments eines Agents mit Pagination
  • Tabelle wird per Alpine.js asynchron nachgeladen
  • Loading-Spinner während des Ladens

Neuer API Endpoint:

GET /api/v1/agents/{agent_id}/assignments/?page=1&page_size=50

Agent Capacity Logic Fix (max_endpoints Property)

Problem: Die max_endpoints Property nutzte das alte effective_capacity Feld, das seit 0.29.9 nicht mehr vom Agent aktualisiert wird. Dies führte zu falschen Capacity-Berechnungen (z.B. 447 zugewiesene Endpoints bei max_endpoints = 298).

Lösung: Die Property nutzt jetzt direkt den SystemConfig-Wert:

Priorität Quelle Default
1 Per-Agent Override (max_endpoints_override) -
2 SystemConfig (ENDPOINT_MONITORING_MAX_ENDPOINTS_PER_AGENT) 300

Auswirkung: 4 Agents × 300 max_endpoints = 1200 Total Capacity (statt 148)

VictoriaMetrics Query Step korrigiert

Problem: Der VictoriaMetrics Query Step in der Endpoint Reconciliation war auf 30s gesetzt, obwohl das Check-Intervall des Agents 60s beträgt.

Auswirkungen vorher: - Doppelte Datenpunkte (50% interpoliert) - Unnötige Last auf VictoriaMetrics - Längere Response-Zeiten

Lösung: Query Step von 30s auf 60s korrigiert.

Agent Capacity Safety Factor entfernt

Problem: Es wurden Safety Factors (0.75 und 0.8) auf die Capacity angewendet, die zu unnötiger Unterauslastung führten.

Entfernte Logik:

Komponente Vorher Nachher
get_simplified_effective_capacity() Fallback 50 + 80% Cap Nutzt max_endpoints
get_current_free_capacity() 80% Cap Kein Cap
EndpointMonitoringDashboardView 0.75 Safety Factor 1.0 (kein Factor)
metrics.py effective_capacity × safety_factor effective_capacity

Ingress Discovery API-seitig deaktiviert

Problem: Zwei parallele Discovery-Mechanismen (API und Operator) führten zu Duplikat-Endpoints mit unterschiedlichen API-IDs.

Lösung: - K8sCluster.run_reconciliation() ruft discover_endpoints() nicht mehr auf - discover_endpoints() als deprecated markiert - Management Command mit Deprecation Warning versehen

Single Source of Truth: Der Polycrate Operator ist jetzt ausschließlich für Endpoint Discovery zuständig.


UI-Änderungen

Agent Info Box aufgeräumt

Entfernte Felder (nicht aussagekräftig oder fehlerhaft):

Feld Grund
Last Activity Dot Zeigte immer rot, unabhängig vom Status
Last Report Redundant zu Last Activity
Max Endpoints Zeigte falschen Wert aus altem effective_capacity
Queue Zeigte negativen Wert (Berechnungsfehler)

Agent Info Box - Assigned vs Monitored

Neue klare Semantik:

Feld Beschreibung
Assigned Endpoints Von der API diesem Agent zugewiesen (endpoint_assignments.count())
Monitored Endpoints Vom Operator tatsächlich überwacht (kann mehr sein bei "monitor everything" Mode)

Agent Overview Table vereinfacht

Die "Assigned" Spalte zeigt jetzt nur noch die Anzahl zugewiesener Endpoints ohne das fehlerhafte max_endpoints.

Endpoint Monitoring Dashboard Graphen optimiert

Graph Aktion
Agent Utilization (24h) ❌ Entfernt
Coverage Rate (24h) ✅ Behalten, volle Breite
Check Performance (6h) ❌ Entfernt
Agent Assignments (24h) ❌ Entfernt

Checks/Minute Box

  • Link zum Endpoint Monitoring Dashboard hinzugefügt
  • Capacity/Utilization Anzeige entfernt (nicht mehr aussagekräftig)

polycrate-api Block

Der polycrate-api Block wurde auf Version 0.5.14 aktualisiert:

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

Migration

Datenbank-Migration erforderlich:

# In Docker Container
python manage.py migrate

Die Migration fügt den neuen API Endpoint für Agent Assignments hinzu.


Abhängigkeiten

  • polycrate-cli 0.29.9+: Erforderlich für korrektes Health Reporting

Weitere Informationen