Zum Inhalt

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

docker pull cargo.ayedo.cloud/library/polycrate:0.29.16

CLI Downloads

Plattform Architektur Download
Linux amd64 Download
Linux arm64 Download
macOS amd64 Download
macOS arm64 Download

Installation & Update

polycrate update 0.29.16

Installationsanleitung

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 Pods
  • pods_ready - Anzahl Ready Pods
  • pods_available - Anzahl Available Pods
  • pods_unavailable - Anzahl Unavailable Pods
  • pods_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

Operator-Dokumentation

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

MCP-Dokumentation

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

CLI-Referenz

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_ready etc. 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 ignoriert
  • Deployment, 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

Alle Releases