Polycrate API 0.14.10¶
Release-Datum: 12. März 2026
Typ: Feature-Patch
Highlights¶
- Personal Note – Full-Page Monaco Editor als persönlicher Scratch-Pad mit Auto-Save (1500ms Debounce + Ctrl+S) und "Create Note from Selection" im Kontextmenü
- SLO/SLA im Info DrawerTable – SLO/SLA-Felder in der Info-Drawer für alle ManagedObjects (Endpoint, Host, etc.) mit System-Default-Badge bei nicht gesetzten Werten
- S3Bucket-Erstellung blocking – API und UI warten auf Provider-seitige Erstellung bevor sie zurückkehren
- Modal View Cleanup – Veraltete Modal-Views entfernt, Full-Page Create/Edit konsolidiert
Artefakte¶
Docker Image¶
Block¶
Features¶
Personal Note¶
Jeder User hat einen persönlichen Scratch-Pad im vollen Monaco Editor unter /ui/accounts/personal-note/.
- Auto-Save via 1500ms Debounce nach letzter Änderung (PATCH
/api/v1/personal-notes/mine/) - Ctrl+S / Cmd+S – sofortiges Speichern
- Create Note from Selection – Rechtsklick auf markierten Text öffnet ein Popover zum Anlegen einer Polycrate
Note(Kind, Organization, Workspace wählbar) - Topbar-Button – direkter Zugriff über das Stift-Icon in der globalen Navigation
- Markdown – Editor-Sprache
markdownmit Syntax-Highlighting
Technische Details: Das Feature nutzt den generierten JS API Client (Polycrate.initApiClient()) für alle API-Calls. Alpine.js-Kompatibilität erfordert, dass Monaco-Instanz und API-Client als Closure-Variablen (nicht im Alpine-Proxy) gehalten werden — andernfalls provoziert der Alpine Proxy-Wrapper einen CPU-intensiven Feedback-Loop.
Migration: Neue PersonalNote-Tabelle → make migrate erforderlich.
SLO/SLA Felder im Info DrawerTable¶
Die Info-Drawer aller ManagedObjects (Endpoint, Host, S3Bucket, etc.) zeigt jetzt die SLO/SLA-Felder:
slo_target/slo_window_dayssla_target/sla_window_days
Wenn für das Objekt kein Wert gesetzt ist, wird der System-Default aus SystemConfig als Badge angezeigt (z.B. 99.9% [System-Default]).
S3Bucket-Erstellung blocking¶
Die S3Bucket-Erstellung (API + UI) wartet jetzt auf die Provider-seitige Erstellung bevor sie antwortet. Konsistent mit dem Architektur-Prinzip für alle Provider-Backed Objects (per .specs/0.14.10/provider-backed-creation-consistency.md).
Fixes¶
K8sCluster On-Premise: KUBECONFIG_API_SERVER_UNREACHABLE¶
Die Condition KUBECONFIG_API_SERVER_UNREACHABLE wird nicht mehr für On-Premise Cluster (on_premise=True) gesetzt. On-Premise Cluster sind per Design nicht über das öffentliche Netz erreichbar.
Außerdem wird der Endpoint-Reconciliation-Step für On-Premise Cluster übersprungen.
SLO/SLA Breach Conditions aus WARNING_CONDITIONS¶
SLO_BREACH und SLA_BREACH wurden aus WARNING_CONDITIONS entfernt. Die Breach-Conditions lösen eigenständig Notifications aus — eine doppelte Aufnahme in WARNING_CONDITIONS führte zu redundantem Alerting.
S3 Bucket Policy Cross-Access¶
Analyse und Fixes für org-übergreifende S3 Bucket Policy-Zugriffe. Bucket Policies werden jetzt korrekt auf Org-Grenzen beschränkt.
Endpoint Form: Monaco Widget JSON-Fix¶
Das Monaco-Widget im Endpoint-Formular erzeugte bei bestimmten JSON-Inhalten einen Parse-Fehler. Fix: Korrekte Initialisierung des Monaco-Widgets für JSON-Content-Type.
Zusätzlich: Status-Code-Labels im Endpoint-Detail werden jetzt korrekt dargestellt.
Chore¶
Modal View Cleanup¶
Veraltete Modal-Views (Create/Edit als Modal-Overlay) wurden entfernt und durch Full-Page Create/Edit ersetzt. Betroffen: Endpoints, Blocks, Workspaces, Organizations, S3-Clusters, PoP-Provider und weitere.
Konsistente UX: Create/Edit immer als Full-Page, nie als Modal.
Detail Bottombar deaktiviert¶
Die Bottombar in Detail-UIs wurde deaktiviert — sie hatte seit 0.14.x keinen aktiven Content mehr.
Migration¶
Neue Migration: users App – PersonalNote-Tabelle (Personal Note Feature).
Alle anderen Änderungen erfordern keine Datenbank-Migration. Direktes Update von 0.14.9.