Polycrate CLI 0.29.16¶
Release-Datum: 2. Februar 2026
Typ: Feature-Release
Highlights¶
Diese Version bringt Echtzeit Pod-Status-Tracking für K8sApps, eine MCP Knowledge Base für LLM-gestützte Block-Entwicklung, Host UID/GID Environment Variables für Permission Fixing und mehrere wichtige Bugfixes.
Artefakte¶
Docker Images¶
CLI Downloads¶
| Plattform | Architektur | Download |
|---|---|---|
| Linux | amd64 | Download |
| Linux | arm64 | Download |
| macOS | amd64 | Download |
| macOS | arm64 | Download |
Installation & Update¶
Neue Features¶
K8sApp Pod Status Discovery¶
Der Operator sammelt jetzt Echtzeit Pod-Health-Daten für jede K8sApp und sendet sie ans Backend für SLI-basierte Downtime-Erkennung.
Neue Metriken:
pods_total- Anzahl aller Podspods_ready- Anzahl Ready Podspods_available- Anzahl Available Podspods_unavailable- Anzahl Unavailable Podspods_restart_count_total- Summe aller Container-Restarts
Pod Watch für Echtzeit-Updates:
Der Controller watched jetzt Pods zusätzlich zu K8sApp CRs. Pod-Änderungen (Phase, Ready, Restarts, DeletionTimestamp) triggern sofort K8sApp-Reconciliation - keine Verzögerung mehr bei Rolling Updates.
Redeploy-Erkennung via:
uid- Pod UID (ändert sich bei jedem Redeploy)owner_uid- ReplicaSet UID (ändert sich bei Deployment-Rollout)deletion_timestamp- Zeigt aktive Terminierung an
MCP Knowledge Base¶
Der MCP Server wurde um guide_* Tools erweitert, die LLMs (Cursor, Copilot, etc.) Best Practices und Anleitungen für Block/Workspace-Entwicklung direkt bereitstellen.
Neue Tools:
| Tool | Beschreibung |
|---|---|
guide_create_k8sapp_block | K8s App Block Entwicklung |
guide_create_workspace | Workspace Setup |
guide_ansible_patterns | Ansible Best Practices |
guide_block_inheritance | Config-Vererbung |
guide_registry_workflow | Block Publishing |
guide_debugging | Troubleshooting |
guide_best_practices | Architektur, Naming, Git, Versioning |
Design-Prinzipien:
- Token-effizient: Kompakt, keine Prosa
- Präskriptiv: EIN Weg, keine Alternativen
- Copy-Paste ready: Vollständige Code-Beispiele
Host UID/GID Environment Variables¶
Bei Action-Runs werden automatisch die UID/GID des ausführenden Host-Users als Environment-Variablen übergeben. Dies ermöglicht Blocks, Verzeichnisberechtigungen am Ende von Actions korrekt zu setzen.
Neue Environment-Variablen:
POLYCRATE_HOST_UID- UID des ausführenden Users (z.B. "1000")POLYCRATE_HOST_GID- GID des ausführenden Users (z.B. "1000")
Verwendung in Ansible:
- name: Fix ownership for host user
ansible.builtin.file:
path: "{{ workspace.path }}/artifacts"
owner: "{{ lookup('env', 'POLYCRATE_HOST_UID') }}"
group: "{{ lookup('env', 'POLYCRATE_HOST_GID') }}"
recurse: yes
Bugfixes¶
K8sApp Name Validation Fix¶
K8sApps erscheinen nicht mehr als "Unnamed" im UI. Der block_name aus dem Meta-Secret wird jetzt korrekt als Top-Level Feld an die API gesendet.
Behoben:
- K8sApp Name wird im API-Request übermittelt
- Fallback auf CR-Name wenn Block-Name leer
- Bestehende K8sApps werden beim nächsten Sync korrigiert
Job/CronJob Pods aus Pod Status Discovery ausgeschlossen¶
Transiente Job-Pods (z.B. Velero Kopia Backup/Maintain Jobs) verfälschten bisher die K8sApp-Metriken. Sie werden jetzt automatisch gefiltert:
- Job-managed Pods werden aus
pods_total,pods_readyetc. ausgeschlossen - Keine "Failed" K8sApp-Einträge mehr für abgeschlossene Backup-Jobs
- Pod Watch ignoriert Job-Pods (weniger unnötige Reconciliations)
Gefilterter OwnerKind:
Job→ wird ignoriertDeployment,StatefulSet,DaemonSet,ReplicaSet→ wird getrackt
Abhängigkeiten¶
Diese Version erfordert Polycrate API 0.11.27+ mit den entsprechenden K8sApp Model-Erweiterungen für Pod-Status-Felder.
polycrate-operator Block¶
Der polycrate-operator Block wurde auf Version 0.3.31 aktualisiert:
polycrate pull cargo.ayedo.cloud/ayedo/k8s/polycrate-operator
polycrate run polycrate-operator deploy
Neue Features im Block:
- K8sApp Pod Status Discovery mit Echtzeit-Updates
- Job/CronJob Pod Filtering
- K8sApp Name Validation Fix
Changelog¶
- NEU: K8sApp Pod Status Discovery mit Pod Watch für Echtzeit-Updates
- NEU: Pod-Metriken (Total, Ready, Available, Unavailable, Restarts)
- NEU: Redeploy-Erkennung via Pod UID/Owner UID/DeletionTimestamp
- NEU: MCP Knowledge Base mit 7 guide_* Tools
- NEU: Host UID/GID Environment Variables (
POLYCRATE_HOST_UID,POLYCRATE_HOST_GID) - FIX: K8sApp Name wird korrekt an API übermittelt (keine "Unnamed" mehr)
- FIX: Job/CronJob Pods werden aus Pod Status Discovery ausgeschlossen